8
:*
■*■=- -K
♦♦♦
♦♦♦
3
f»JI
U/l
**" «F
*Ai
^*# .*.f
y
tin jl . ^Ufji-.'il iijlu «JiU jij^i jl ~«u£Ji 1A» j* tjr ^ s* jj£ 'i.
All Rights Reserved. No part -of this publication may be
reproduced, stored in a retrieval system, or transmitted, in any
form or by any means, electronic, mechanical, photocopying,
recording, or otherwise, without prior permission ol the
publisher.
*i**
L^u Ji" ^jL^ J-j-s-Lb ,y ^>JI a>b, •( Aft ) ,>iJI jU»| ^ _,i ( Science )
Ji* j-j Jlijl Jui ji*^ *il» jL-iVL oUi i3}Uj L$JU *JUJI ,_>— Sfl JL»b j_*
yJI JL-LJI — Vl ^ JbJbJI Jx. j&i^ jl* - jU g-'Lrr" -M**J j' <_** *Lr~*-"
jili3 ^\j ^jiL iL^I yul^l ,>. jujuJI Jl j-lz^ jgI "tfl Lfc r U)fl v^
ui Jl AJl^fL i^ljbVI AJjJJj ff-olyJI J»it*-o X^iw
(Jjl#. J[ J>-^jU i^jt-o i»^o ^ijj ^JLII - jb-ljJI gt^bjJI jl jlJ iiLi*if U^j
Ajji p-olj-JI ^Jzk*^ frfi JbJUtll *Jzjj,\jj »JL£i3 »j L» lil - OJL*»« i_j|jL»l jl
i^ijj (^UJI ^UlJI jl *ij ji-^l £-0 »4JL<a ^V Li; 7 ,11 oljJi> JjLj jl V *-^
JLiUJl ,> ^Ldl ^ *L£ liib i^II (JlJI ,y J!>LVSM jjiu X, .1^11 ^
iiL^U | l ^x : w-aiuij (^jr*' tP iji'^*" j-* - -/r*i Lo jJlL «-oLJI kfa>J JLJUJI
-L*b#l j^jJS Jl
JlJU i-rjLJI JLLwIjJ J-4-3U jl j£»J JLxljlj)/l tjJLiljj !^-*JI jl l^» ti^U-Vj
,>X»j jljIjls.1 jb-i _^jju (jlll i_»L£JI II* -tj£j CJ>\£ juJI IJub (>a j .JL-iUI
,>* jSLillj g-oUJI JiJiiO IL-Jl^J JLJLJI <-Jlj»JI J^ (JL1I - £->»W kt,;.,.
iL^o JS'Lil i>jXill J>JL>JJ £JLJI ^ JUulx^o j-o - JLoJL>lLJU i*-»^JI Oljjl
£*j .i^jLill ^>Vl CiljLUyi Jb-l ,^3 LbjUlB frt> f^JiXi j\ «ju-aj *SS^J v^-^y
^ oL-iJI jiuu ^jL-^I e ,x,Lill j-ki-j LfiiSL-o ^j ^Jl ^AJI .^ ^UJI
. V L5UI II* J l^jjd\ o^Uil ^ jbJbJI
il>^ Jl ^ jJidl ii>^ Jl wljuiwVI il>^ ,>- JJLlli jl .^l»1*U j^-j,
ol^JI Li* jl=>l Aj -^V *J^^ J! jJ^; ^ vd^l il»^- LfcL JjjuJI
ZlsUII a* Jl ^^j .(DBASE) 5JbU ^.1^ ^*, Sj^l i^.^JI oljil Jb>I
( DBASE III+, DBASE IV, CLIPPER, FOXBASE, FOXPRO ) ^ ^
V»JUij ^IjL L-L* jjiL; ji V L3JI IL* Jj: £jU»yi jua «^UU ju?j
J^lji »j'il ^ -^ ul >JJL; ^_, .USUII *h> Hi J> 3L.jl^JI i^jj
t j;jUll ^^ UJi ucT i*j*^ j_. "^LUI £ ^jj| " j " jjVl ,j*J| " oUUfl
ii5Lt g^ fbi ^ J Jjic-L, *~^JI v^JUlj ^Iji Jx o>Ji ^ .^jcil
.( DBASE )
f 3 0--J • 0*^1 *** ,>- -J* J^ ^J *■»»« Ob « iil^JI ^USJl Jj-aJj J^j.1
.^pLJI *15L*.j r lkJI ^^=i r UII jltVlj i>j>ll jlS^'VI j^ J* o>JI
i-Lx. jtjjlio Ji" j-« *ijjLi" Cr^i L»J^*j .I^Ll- (Ji; .UJ sj^ 5 ^' '■*•»
IJub ^ liji^II JUULo'^l J^. UkiUI o^LourJI J^>l ^.hi-j ^1^1 -LJ^
.Ojiill OJtfll Jl J.J-3JI j-» Jc£-j Lwj JUoliiJ Ol>Ljb.l t* »£Lj Lv wllSJI
x^si^JI pLxiJ ^jj Jj-jAirfj SjL^ Jj-a- ^^Jj jl3 «<j;jLiJI j>£j *k>M **-» J- 1 *
*-»lj-JI ,>» jujuJI jjjJij ,>» Lajuj c^*^ ( DBASE ) ilSU ,*& JjlJc-U
OjJGj 4jjJLJ J^oJj 4 >^^i»fai ,^c. j— *j 4jiii?u» cmJL.iI iUtjl t(> jjUJI »^ri7 ... j liujP-
e jj>JI .J>>i iU~. Jl i—~Z* X-aJ j-jj-ifj jjJUJ ,>j. .~»U£JI j>iwy
jw»^J J,W\ .>jJI Ui .( DBASE ) ihU ^j, JiJ iL-Li i**^ l^ JjSlI
j-jUll ^ jujuJI ^ p L*i-*J gLoj ^Ul UW' o*^J oL,.>U. f Uii
^I^JI jl>) dJUJI ,>»JI ^,-Iju, .iJif-j iJ*-~. ii> i«^UJI oUS 5 ^a^,
^i gjLJI .j^JI L.I .jjUll f lfc 2-i-^; >*j f Uic- , i» 4_oUJI i-j-Ull
^ L-Ju^Jll S---U1I ^-UJI o- La-i->*j-*^*JI ^ L -> r 1 ^ <> 1 *^
U 2uu i_i ..-^ : -Op ^—UJI .j*JI Ul .i^L^JIj Zi,UuJI ol—jil ^ Wl
^.I^JI JJ*^ L^l. juiu-, jl cf-j ^\j e-UJI J»J^ i-*^ 1 v-J^ 1
^iUI t±*J\j .( DBASE ) £-.1^ fjiu f ljLki«l Jx. Ojjtfj iiLiT gjj ^j
^ A^»L*lJ j^j U>i-o U*J»j ,j— a£j ^lj JLJL^fl oUwIl-JI Joju Tj^j
li* ,>fc.iio US' .^U jl j^o jl JjJUjj f[>j^Jj ojUSllj (JjUll obLj jj^«j
^UJI ( Application Generator ) oli~kJI jJj_* .IjAzJ £j-i L22J «jj>JI
.( DBase III+ ) £*b^
i«JJI ^ »jubj vjL^JI I!* ^ Jt,Vl iiv-JI itLU j~, jS\ jfJJij jjj^j
0-ft oUjL iiU.1 aJJ/, oLiJiJI ^ ju>. i»U»l Uv ^^.jj ^ill i^jliJI
^ .j-jWJ ^^3 ji ^ ^1 SjukJI o^jUll Jb-J V L£JI I!* wr ^ J u,
Op - »/i J-- L« iibtfL - jl«JI IJL* ^j . f ljL^-VI i*:UJI 4.8.. bill ,JiJI
C^j !->>Jj-^ Jk« ^ i^nJI Lj£JJ iLUfe. JL»U,I -u, ^L£J| IJUb
-UJI
aJJ? j^^^i XttJX4 . i . I
w " jl^jul. " j/n J^UI
y. Ikt-JI S^j-i-o \ - ^
Y^ (Config.sys) r lkJI oULol^. JjJlo Y - >
Yo " ^i^ji t i^T " jiM J-uUI
W j^lj oULu ijuiIj ^ J-»l*=JI \ - Y
YA (Relational Databases) ikj^ll obLJI JL*ip Y - Y
r . ^jl C iULy" tr --s J JI oilll r L^> r - Y
W --. olibOUl Jji> f LiwJ t - Y
n ^j^JI ,i«j| " ^jlji j^ui
i\ u-jf*^' f'J^-l ^ " ?
t Y ^i^ji j> y - r
£Y" ■-* ^ juo (^Xo jx i^otJI Y 1 - ■ V
£0 JLpL-pJI oLLjJJ £>j~JI J-^-W I - Y
£."\ ji)L£JI itLt i^-i SjLj o - V
£V o^U-JU ^j^JI j~JI 1 - r
£V " liJbiio ij*j$* CiULo «-o J^Lcdl V - V
^ _ ■ ^IfcJJ f ,., M ^,1^. " g\J\ J^J|
d ^ (Problem Definition) IlSLill oLyO N - £
Y (Input/OutpuQ^U/Jlj o^iall lJ-^-jJ Y - £.
oY — cjUUJI Ijlc.15 a^wuu V - i
or (Moduler Design) obUJ 1*11 p .>.rt=H t - I
00 - ^l^jl a.uS' * ^UJI J-UI
y ^.Ij^l oUL. .UjI \ -
^ f jja~ll £> JaUJI y -
^ (ACCEPT) ^-.Ml \ - r -
v (INPUT) ^—.Vl Y - Y -
v ((WAIT) .r-Al r - Y -
AN (@ .. SAY .. GET) j — -Ml t - Y -
AY yjWi auji r -
u (IF) jAl JhJy. jljiW 3U3| £ -
^ (DO CASE) jfi\ JLljt jljDI iUd o -
AA ^uu w^ 1 *ta" "* -
W " (Debugging) £**-sJI JsUj " ^-aLJI J-uJI
\ - A
Vo
v ^ (Memory) »/WI &J* Y - "\
vn . (History) pjUl u!»j* r ~ ^
W (SET TALK ON) ^Ml f U*=J i - "\
VA (SET ECHO ON) yNl f bioJ o - "\
VA (SET STEP ON) Ji\ - f b*>=-l 1 - A
VA (SET DEBUG ON) yH\ f LAs-l V - 1
v ^ e-W' ^ • U * 1 f* 1
v ^ (Data type mismatch) DL-JI \ - A - "\
v ^ (Invalid function argument) SIUJI Y - A - "\
A . (Unrecognized command verb) 3iL-jll r - A - "\
A . (Variable not found) -SJl-jll I - A - t
A . (Record out of range) DUJI o-A-A
A - A
A-
(Too many files open) UL.JI t - A - n
IwJLaJI *5j
fy^jll
^Y\
^o.U.J \
r.^ll LJUJI p-— a3 Y
s^LiiJi oij^b jiAfc* 1 ^M* r -
obUJI JjJW IT -
Ao
AV
AA — :
AA
\-
^ . c^U-JI
-\Y f UiJI ^ £,>JI o -
^y obLJI »ju.15 oiL. «Liil V
^ J^iVI ISli *Liil i
\ : jjjZJl e Lijl
\q pjibjJI Vj-^jJ "\
V
V
j>5— _*
i -
- V
- V
- V
- V
- V
V
V
V
V
- (Rep) £-l^JI \ - ^
(Label) g-UjJI Y^-V
" j^-iil g-bjj " jiUJI J-^l
o^kwJI £-— • p-*^ j-** i^aUJI J-ojLH
■ ^Ull >lti * AJlill x^l
f lkJI «JL-».p " ^JLt j\Si\ ±*ti\
.IkJI
N - NY
\\
h»Jua}\ *3j
£j-<»jll
Nit
Nio
Uo
NiV
\1V
no-
NoN
Nor
NOO
N0"\
NV
c li*ll jj> y - ny
f ikJl ^l&j r- ny
oUUI JjS> JujjO i - NY
oULJI Jjtfclj *-*-3j o - NY
(Master File) ^Jl oUll .UjI N - o - ny
- (Sales File) oU~ll JL. .Li;l Y - o - NY
UijI^JI JL^I JL. .Lq r - o - ny
; -\ - NY
£*M j-
Jjjl iotiJI £»lijj
*2JLJI J-aJJI
(PSEUDOCODE) SJjS'l ol^iJI ^UT N - NY-
g*KJ\ itr y - \r
g,bjl jU^I r
Nf
\
Ar " ^ji jail j-Aia e-u^ " ^ e yi j^iJi
no ^ji jiii j^ e-^ ps-s N
m ^'pMr - T
^Y olu»Sll IiU»| g-^ F
nA JlSo^l -itli -LiSl ^
n <\ (PSEUDOCODE) SJ/5II oljWI ^ Y
w . (Addnumbs.prg) oU^I g-li* LliS" Y*
m ^J 1 ^ jw 1 * £*
m (Current Stock) JWI &}*H sJ*
M
\i
\i
Y - M
- \i
- U
NVN
NVV
(Reorder) .-JUI ■** -^
m (Purchase Order) J^JI «-^
JUJI g-»^ | t : . .< a S
.i^ji yiji e*iof V "
g-l3^JI LW A -
NA-
NA-
NA"N
NAV
j&
N
Y
r
t
o
i
M
Nt
M
\i
M
\i
\i
M
\i
NY
,NU .j-^ 1 <-«^l Ji-^ g-^ji - U
^ - L~il ciL. J-*£3 £-L^ " ji* ^UJI J**ill
Y-^ oUJll g*\jji vt^v 3 ^ ~ ^°
f.y I.„,,^l JLJUJI g^ Y - >o
v-r j^ji ^iii ^b^ r - \o
Y . v (PSEUDOCODE) *J,Vl olji^JI LliT \ - r - \
y-a e*M' ^ v - r - ^°
YYr uT^uJi ji>ii r - r - \o
YYY a^JI jjjUj £-«IJjj £. - No
YYt £-k*U SJjVl ol^kkJI iUT \ - I - \0
YYo £-lijsJI ^ Y - £ - \o
Yro " liUVI ciL. J**13 g-bj, " ^ y-aLJI J^OJI
YfA ^J\ ^Jji \ - H
Yy-a (NMenu.prg) iiUVI 3-J13 g^ Y - n
Yt. (Newstock.prg) oLl^VI cUL, JU-j[ g-U^ r - n
Yt> (PSEUDOCODE) UjVl ol>iJI Jul^" t - U
Y£\ ^ bj j| ^ _ n
Y£. (NewReps.prg) JjU)ll j^lE g^ "\ - n
Y£A g-l^JI ~*A* V - U
Y \ IjLJ| ^j^j ^^ " ^ ^lji j^j
Yor (Master.dbf) ^--5^1 <JUI ^j^j g-lj^ \ - w
Y £. (PSEUDOCODE) SJjVl ol>UI LtT \ - \ - W
Yoo £-L^JI itf Y - \ - W
,y\v (SalEditprg) oUJU JL. g^wrf g^ Y - W
YU __ (PSEUDOCODE) ljji\ ol>*JI \ - Y - W
Y"U g-li^JI US'. Y - Y - W
\r
ZkjLoJI
r 5 -;
ryr
YAo
YAV
YA^
YA^
y\-
V\\
yu
Ysr
YU
YW
Y^
r- •
r-n
r-A
r\r
no
m
m
rYo
rYA
(NewEd.prg) iiL^I aL, ^^ g,^ r - w
oLLJI »JL*15 JSL* jlu»w Y - \A
(Customer.dbf) J-^1 oUL, *jLo \ - r - >a
-- (Charges.dbf) o^JI *S> viL. Y - Y - u
(Payments.dbf) aLUI ,_iL r - v - \a
— V'iAxM cbLJI Jii> V - ^A
OljJiiJI oliL>
j-kil J-^uUi
(A/R) .XuJI cLUv g^bj, ,y ol>iJI JL. r ljia-l \ - U
(TiUe) ol^uJI g-ls*
tUu-'jl JjL-j ?^bj<
OJ^iiTJI \.al " *Lijl
CjIjojJI uiL* »tZi
— (Parameters) 0X.UI JUol
(GetCust) ol>iJI £*bj! *-lji
Jjd-iJIj JU-i^lj L-^JI I*3UJf g-U^ " ijj^JI J-OJI
Y -
S\
Y ~
\\
i -
\^
-
u
A -
\1
Y -
\\
A -
^
_ — '3L--1 / JI JuiUJI ^.Lljj
(NewCusLprg) «^LjJI IiU.1 ^oUjj
(NewChrg.prg) o^-JI ~4j>- IJLbJ g^li^
(NewPay.prg) jL~JI #> «U»I ^-li^
(AREdit.prg) J^jucII ^A>j>
\
Y
r
L
U
ff. (EdCust.prg) J^l cJLi ^jw \ - o - Y-
m (EdChrg.prg) o^JI uiL. J^-uj V - o - Y •
m (EdPay.prg) *IjlJI UL» J^juu r - o - Y •
m * .^UJI C.LL* g-U^j jjj\U " axr^JU tpWI J^ill
Yt\ (ARPrint.prg) l.....*J\ ^UiJI JuilS £-1^ \ - Y\
rir (BillProc.prg) cl>iJI ^iL. Y - X\
n\ (Bills.prg) Z LA ^J\ ^lyUI g-ob^ r - Y\
Vo\ (ARStat.prg) iJUJI jUsI £-b* £ - Y\
no - fljL jj aA ± Ji ^j^ji • ^j^jJIj ^LJl j^i
rvo - " ^Ullj .^LJI oLL* ^ J-l&JI g-brf " a^^LJIj £JLJI J^iJI
rAo c ,\£ i *J\ jy-£ ^."^ " jjj^UJl, gl^JI J^iJI
Ho 6 |^|| jlaS ,| ^^ - ^j^Jlj ^UJI J-aiJI
t ^ " ^^jji a ^j, dijrf ^ bji - iljLr * J j| J ^lji j^j
t \ j jsll ^^J^i - ;u>Sj J| J ^LJI j^jji
tYl obLJI jjitlS pA ,.rta N - YV
tYo ju.j«| liLi ,Lu| Y - YV
£,Yo Ljl^JI^LuJIj JJJI .Ltil r - YV
try ^ b ^j, ^^ t _. YV
No
i^uLaJI
r»j
jyj»jii
. t.innftim**
f.YA
IYY
(HOME.PRG) l~~ij\ ^UJI £-1;^ \
- (HOMEREPS.PRG) ^
UxJI £-Uy Y
ii\ obLJI
Tt^TWXJ
££A . 0"&*-JI «— » t -
£00
jlj^JI jUil
- YV
- YV
- YV
= YV
- YV
£."\\
Oj^LJIj ^UJI J^iJI
nr
£."\0
£V-
tv-
\ - YA
Y - YA
r - YA
£. - YA
- YA
n
Xa.t.ia
J^icMii
w
ii±JU
,JiJ JJL. f ljL^M i^LJI oUjJUll |Jb J^ ( LjJa ^ i*>*~ ,>* (1)
.^LjJI oU~> ,Juj ( Inventory ) jjUll ^j ( Cadets ) 2JUJI jj^- 1 oL^i**
f jio-j ^Jl ( Techniques ) JjL->JI ijb-l J* jS"^ jj*j .( Accounts Receivable )
.l js £}\ J.JLL-JI it^j aJUI I.USJI oli I^UI £*\jJ\ i,& ^i
I
JL*>UJI JljJIj ( DBase ) iiiU ^>lji ,Jm>i pLioJ ^Ijj Ail Li" -g-ol^JI .jjUJI
L»lj5l Ua JL^j^o ^jp Li" .JLiuU IL13 ZLali' p-*^ SjLx^ Jji tjjJLlI ajjJ _^>Ij
- L^liSU Lili" LS, jlkjV ,,$111 - (x>UJI gs^^ ^»-»y p- '^' *■*■* J- 6 - tfj-^ 3 * 3
juill £*i dUJJ < j-iLJI ^liSUJ JL&lJ jjb rLiuVI j**» L5" «_jL^JI 11*,
c^jUJI f ^EiT ,, j j .»ij->_,ll k-oIj^JI i_iljuZwi c^jUJI p.Ja.Z.«j l _^i> l j r oLl5JI ^jJLIb Itl^J
i£l JuUSJ L^liall »j-^JI *-—£; IJub j| i^> UJuiLjj v_*«UJI Jji p^U-" »J-* AjL^
ibU g-y ZJL-U JjlvI^ ^ SjU JjVl ._*JI « Jj»l Si, Jl r ..»:_, ollSUlj
^iJI JjL-jJI ^^ ^-1^1 i,Ltf j>J ^^l^J I^jLkiJll j-Ij^Ij ( DBase )
. UJujLj A-fr^wj lp« US' ^e Jbjj
Uy Ji^ ^JJI ( Cadets ) 2JLi\ o^ oU^, f Ik g-l;^ £>Lj ^JliJI .j^JIj
£-"^ jj»j .( Single Database ) »Jb-lj oUL, Jjlc.13 ^> J^Lcs ^iJI g-oljJI ,>»
Jli^l oL4La- f --a3. J* Ul.1 jS^ LT .( User Friendly ) f j^Jll ik-l^ ^Lvia
J-aUJI oL,Li jtjsjj ^ill (Inventory) ojUJI g-»b J j-^ / i ! »iJliII «_>>Jlj
iilii^ J-** jJ?Ll. ,^o Lpdj oLilll «JL* Jtjjj ^LjW •*-*•'>» oUL. »jlc «-o
.(Work Areas)
^
tjisL,
^ill ( Accounts Receivable ) .X-JI oLU> ^ y ^ g\j) .^r,
oUlil f LasJj l£u*w, ( Related ) iLpJll oUUI ^ J^UdJ UjJCl. oUUUl
.i^aUl obLJL .tU^U ( History Files ) i^UI
,_^JI ( Advanced Techniques ) i-jufcll JiL-jJI jswu sJu^, ^^UJl .^Jlj
•A3. US' IiL>J ^\ij, J\ p. l^ljioJ g-ljJI JalliJ ,^Sw
.^ U^i- ULjk: ^zz ^1 iJU,?! oli-kJI ^ ^ o- iLJi «^ !| j
^ -ij^ri <i' £■— • jl Je- 1 -* 3 J 1 £^\r-'j Vj^'j «Jjl*ll oUL- ,>->*; .ji *-«Lil-f
( Application Generator ) oU..kll jJj_« ^ L*i_l r^i uJ ,;#JI IL> ^., y :
.( Dbase III + ) ^-U^ ^UJI
.oL.jl*ll fk, MA j-. >LcJI Jx. IjjiZJIj JLJ15JI »^JI Jl v^ 1
JJL. ( DBase ) iLU £-.1^ £-* J* J-^*3 ol^Jl IJu> ^ i>jj-ill *-»yi
jj*\J1\ jl L/ ( FoxPro ) . ( FoxBase +) . ( Clipper ) . ( DBase IV )
( DBase ) ibU g^ ^ Loj^i-JI ^Ijifl ^ ^> £»UJI »j* *A£ ^ *ju^z_il
.( DBase ) ibU ^\J **».IJ[ o-SA-J 1 O^ 1 ^ 1 J! cM -v^ 1
( Dot Prompt ) *lidl Sj-jl. \ - \
JJ ^-J^ ( DBase III+) g-L^ jlJ ,>JbLJI w t£JI ,y £^1 >*- ^
.( Dot Prompt ) iiaiJI *j~^j ( Assistant ) j^Lil g-ob^ L* ,>~-to O**
«Jb JULt ( ESC ) ou^JI C lsi- J-* J^JI Ji> Cr* i^ 1 '^- u*r* rii
i^L. ^^ j^y .( Assistant ) j*UI ^Ijj j^j ( DBase III+) £-1^ J-U3
JL. ^ J^-i J^u" -W ri rfUi -i^J -^^' J^* -^ l^W- ^^
" " .Jill ^'a-JUII c^-J' -^l ^J ( Config.DB ) oli^l
lt£a£l
STATUS ON
COMMAND = ASSIST
( Config.sys ) ^L^Jl oUL^U- Jjitf v - N
j~£ axe. JjLki-lj *,.,„_. ^ill jJi\ Jji &y^Si ( Config.sys ) .IkJI oli^l^-.
Too many files are open
^IxiwL-L ( Config.sys ) ^LkJI cAJl*^ ,_iL» JjJua ^x> dJi J_t ^JUdJ,
^LijJI ^i J-SLUI J-. oU 2LjJL^ £-1^ ,ji jl ( EDLIN ) £--L^
^— JLJI ,>j^uJI JoLtf 1 j^j, .( Non Document Format )
FILES = 20
BUFFERS = 15
<Jb» J-*-~ p-~; ij2> jljJLv &j> jJLi-ij laLtlj jlfJwJI .Utl idJi juu i-^?^*
.^I^JU LJWI ( Buffers ) i/IJJI jjU^j ( Files ) oUUI ,^-kij oU^il
YN
Jjfll **»
Sjfaf f*J4J uL£ 3uta»f j4
fcJj*ȣM
£3WI JtoAJI
e*L*Jr ^r^»
Yo
jjii g-»Ujj JJL. ( Single Database ) jl>[> oULw »jlaLj «-*Li £* J-*Lca ^/Jl
oliLi Ijlc ^-o J^Lcj (jpJI g-*UJI o- 8 j' ' C^?' r~r- *-*" ( Cadets ) JLJUJI
oULij j^-io «-«L> ^ J^Uu ^1 ^«UJI o-« ji « ( Related Databases ) ikj^
^jj Ji" J* .j^JI «UJJ ^ uij- JJil .( Master/Transaction Databases ) iS>"
•gjj Ji" JI ,^^5 ^1 g-»ljJI ft*-a3 J-J 3£*£JI ^IjiSfl «JL» frA
t^^lj C'LLi ftjhcU ** J^Usll N - Y
tJLcU «_oL* />,j.,.<3J ,y»£j if*^> .K-*{jJI pl^jj Ja-jl j~JU UL«JI UJb ^ w-aL^JI
Ijx. jci JI *>U JUa o£fi oJJJJ .uilll lift m Lib g^UjJI J-oUijj jl>Ij oULu
l^UJI J^-j I!*, .cjiyi ^ yi ( Work Areas ) J-^ jkL* sjlc f ljij«iJj oliL.
.t.iji.:." Juuliaj n^bjJI ^
.( Dot Prompt ) UuJI Sj-l« ,>- JUI JLJ\
CREATE Cadets
»i* Jj -oLiJl ojJUl oLLJI »jLftl5 ^iL. jj. ( Cadets.dbf ) ^ilil o^ ^e-
*^j£j Mjlj JJb- J5" (►-.I juvpu l^bU fr> fZj jd\ JyfeJI jlu«3 JuilS jfltf ilUJI
•CiJ>j o{ *iA«JI pl3j!" i-J^-j
: ^L. ^15" UJ iliUI i^L. ^ ^^1 JL. .LMl ^ US'
USE Cadets
INDEX ON Name TO Name
IS .Ukll .U-V ^iL^il c^^dl J* .Lj o^-JI y^ ^ iJUII u* ^
ri tfiH cr-^^l J^JI j» Jj^l JiJI 0^ £-■ o-lV c> «^ ciUUI i-^i ^
YV
USE Cadets
INDEX ON Name + Class TO Name
: *5tS-« y3"5fl lAzf ^j ^^r^fill dL» £y i^ L*ju«.j
USE Cadets INDEX Name
SET INDEX TO Name
( Related Databases ) aLsJ>\ obLJI ^1^5 r - r
.J-aJjJI i*^. JiLj J| iiL^^L L»i*i7,„H Z-jjj^JI i>Lil
^£-j < ( AR.dbf ) «!)LjJI oLL^J oULj .jic.13 iJL. )t: ..a' jul& ^U
Structure for database :C: AR.dbf
^ ( Vendors ) j^iL? «4Ljb o^ ^» «s«* «-* iJJ t ~r-
jSV
Field
Field Name
Type
Width
Dec
1
BILLDATE
Date
8
2
AMOUNT
Numeric
9
2
3
VENDOR
Character
20
4
ADDRESS
Character
20
IJLsj
VA
frfti fcM
>T uiL. Ji jI^jjJIj ^"Vl JJL- j^UJ iu-a^JI oLLJI 1> j>j £» ( ARl.dbf )
.(AR2.dbf)
: yfltf ( AR1 ) cilil «Lyl ^ -^j
Structure for database :C: ARl.dbf
Field
Field Name
Type
Width
Dec
1
2
3
BILLDATE
AMOUNT
VENDCODE
Date
Numeric
Character
8
9
5
2
: j?K ( AR2.dbf ) Oi\ .Liil ^ U"
Structure for database :C: ARl.dbf
Field
Field name
Type
Width
Dec
1
VEND_CODE
Character
5
2
VENDOR
Character
20
3
ADDRESS
Character
20
pAi-j ^AJI JjuJI j*j .( Vend_Code ) Ji> _^> jjd\ jl^jJI Jj^JI $1 Jfc-'iLy
,^-illl Jay ^i
: ^K ( Vend_Code ) J^iil Ji^JI J* Uu>f L-> ^ ^1 ^j* J^JT,
USEAR2
INDEX ON Vend Code TO Vendor
Y^
Sj^jJI .UiJ ^ .( Work Area ) iil^w. J^t !ik. ^ aL. J5" jci ^ ^
jtA-JI C^ £-^ L* ^Uij •( SET RELATION TO ) ^Vl r L^.L '^JUI ^
SELECT 1
USE AR1
SELECT 2
USE AR2 INDEX Vendor
SELECT 1
SET RELATION TO Vend_Code INTO AR2
vt-» .( B ->) j-ojJI fjic~j ( AR2 ) «Jlll Jji> &> Ji> ^1 ^fjc s\j, Uoicj
dJi ^ (^-.j . ( 2 ) ,Jj J-oJI Sjikd ( Alias ) iJ»Lll fJi\ JI~ L* ( B ) ji
.( Accounts Receivable ) «^L»JI oLL-> ^Ik; £>£ jl^. J- r aii , L
iS>JI oUly ^^--S^JI villi f Ufc r - Y
oL^llj ( Inventory ) jjUill p-kj f * a ^ e p****-* fW 0^" fcj-^' '■*-*
^ ciLL; *JJLo JU* 0j _£, £~> ( Banks ) Jj-^'j ( Libraries )
uilll oULj i-j~ ^ ..J^ ji «U»I SS> JS" oUU Jt j;y^ ( Master File )
J»_J ^ jjUll f ^i ^-j •( Transaction ) iS>JI oliL. ^ ( Master ) j^-^^l
£^0 yb US' j.lkJI JiL* dj^a .jSjp- Cr^-*J -^b ix-^J *-**-* J* tfP'v; *ju-"
.( \ - V ) JSLUI ,>.
J*UI oxjiJI ^ iJUJI oULJI ,> ^^ *L. r UiJI IJus J vr ^J\ JJl\j
8>JI cAiU -^ juj^ jl o^ a> JS" obL <> J-*~ ^ •( On hand stock )
UHji\ -JL^I-JI t >~ ajI f UiJI Li* itflij .jj>vJJ JUJI ui5^1l Lib ^ ^i*
•JL^illj ev-JI S$> gt. Uf XW J^" «i JWI
,j*JI ^ Ji> >j Si>JI OUL.J lS ^J\ Jill w al/^ J*> »j« ■***»
..Ui-^ .JffiAiJI oUll Juj <J f ^ ( Unique ) >>^ J*- j*j ( Part_No )
, aU* JLfcilj .Si>JI oliL. ^. ^--ijl JUI C^a J (UPDATE) ^i\
.( PartNo ) **J\ ^ Ji> J* ii>Ulll v^i if,!
| Inventory.dbfB
r
Part number
Part name
Quantity Sold
Selling price
To: whome sold
Date sold
Part number ;
Partname
Amount in stock
Price
Reorder
Amount on order
Due date :
I.
L
I Purchase.db
Part-niimber
Quantity received
Purchase price
Vendor name
Date received
i ^ - v ) j£i
1/jl y^j ( Sales ) oUJll ^iJLo &> ( Master ) lJ ~?J\ «-Alll ^jl*iJ ^jlj
USE Inventory
INDEX ON Part_No TO Master
USE Sales
INDEX ON Part_No TO Sales
j-.Vl (.IjLiuL-L ( Work Area ) Uk±^> J^c UW,« ^ i_aL> Ji" ^j ^ ^
.iU-JI aL. ,>- oULJI j£ ^ ( UPDATE ) ^.Vl f JL*x^ ^ « ( SELECT )
SELECT 2
USE Sales INDEX Sales
SELECT 1
USE Inventory INDEX Master
UPDATE ON Part_No FROM Sales REPLACE On_Hand ;
WITH OnHand - B - > Qty
rv
Uij> f ljLiO-l pi LiLlll J^. >-JI J> ^ ^1 JjLj JLLP *j VzSXa y r ^ t
«i* (ji ILkjJUll ZLoUII *JLJ», £-»UJI -iai»w« oyu jl v-**^ .(;) it^idl *JL*LL'I
JUI >~JI ^ J[ ^ijj o>JI Li* jl d^ y>i\ UX J \}± ^W¥ j± UUJI
IJU- iil— ijj.j LjJLLo jj^L; L»JUt u-^l^ri liUUj .^LS* ^jUJI ^iuJI Jj
,i,i JUII >-JI ^ o>JI II* jV OjpJI Li* Jul3" JJ SjLJI J* J^ ( Space )
Jl ^ijj jiuJI II*} .iiLJI j-olj'ill ^-» j-a-Vl jkJI ,jj Li* Jsl>Xj .oliLw* ^i
j^U ^f. ( Sales.dbf ) oUJLI Jl* ,>-o ( Inventory.dbf ) ,^-^jJl ^1 £jju»c
i^i" l^lo UjjJi^ oLpnll ,^-j-j ( On_Hand ) aJUJUI i- r *SUl Jj> oLpw JLui-i
,y oLvJU ,_iL* ^ l^U Jj-«JI ^ ^Ij ( B -> Qty ) l^ ^ ^1 Oi-JI
.jLSj^U I ^^ij ( Purchases ) oL^iil <J±* &j> <Z~j,x?c}\ i-L* . 1^1 &£-&
iikL- ^ oL^ill JL. ,>-. ( B -> Qty ) sUxJil i^JI iJUl y> ju^i a>UJ1j
: ^Lf dJij .i-LuJI i-£JI JJ ( T ) ^ J— Jl
UPDATE ON Part_No FROM Purchase REPLACE On_Hand WITH ;
On_Hand + B-> Qty
.j*JI ^ r LkJI lifc 3-^.^JI £»UJI ^^J **^ 11 J-^W J* - c-- ri wi -*- J
.( Inventory ) oj^ 1 g-* 1 ^ *-(>** w**^ 1
JJLo ^Jj .oUa^UJJ Ji> f biS-l J[ ^ ^ ^W **!P u 2 "* ^
oUL, J* ^^ JL. -Lai *L- ^ <~> •( Library ) L^ll oUU U*l! JJAJ
.jijii r-i j> J* i*=~ J a*~ J"! "^ **»> J** ~ WI ^ ji ^^
. ( Topics ) oU^il • ^' H • ^' C* b ' ^ J ' v1 ^ 1 J ^
UUJI ^l* ^ ( Structure ) LiUI Ji^* *-->. ^y •( Abstract ) ,,-iJlb
.u S^UJI JOWI JiJi, (Libl.dbf ) ^i- Jill ^-5 JA» ^^ ^ -^V*
^lf
rr
*h* V**
Structure for database :Ci Libl.dbf
■illl
^^^B^^^^
■■HfHH
■H
1
AUTHOR
Character
20
2
TITLE
Character
20
3
PUB
Character
20
4
DATE
Date
8
5
TOPICS
Character
60
6
ABSTRACT
Character
254
( v - r ) j£i
iiUi, .(Abstract) ,j<aJJLU \jj> (Yoi) t ^a r ^j ,*; *;i ZJUJI *x* ^ JiaOL,
jjL» il^j js*-j ^^xJI li*, .^>JI JUI ^yj ^-aSVl JL^JI J1*j i.uJI IJL* £i
»lb Jij .^jL. olxT j£J Imu> ,y> Jbjj ^ ^oiJL. LLS" L^lk. j^L, a3 j^J,
lift, .( memo field ) oUi>^UI Ji> ^^ JjJbJI ^ >T ^p f Ij^-I ^ iJUJI
AXc I4L3 ^uj ,i*.\J\ JjfcJI ^J li^ (£.- ...) ^ il^ ^^ J^j^JI ^ ^jj|
j^i >T ( Word Processor ) oLtf ^JLw r biiJ j^ jj: dUi j-. ^1 «Jj>kJI
•( DBase m+) g-*!^ £» .jii^x-ll
ol^.^UI JJ> j.ljLicL-1 juu ( LM.dbf ) Jill J5L» j^, ( r - Y ) JSLiJIj'
^ LIT ( \ • ) pJjJI ^^u^, g-b^JI oi JS^iJI 0- ^^y •( memo field )
Li*, .o>> ( l • • • ) ^ ^^ LUi ^^u *ji ^ ( Abstract ) olk>}UI Ji>
( Auxiliary ) ^L- oLL, Jj*15 OU ^ LLe &u Jj^JI li* ^ ^^ L. £i
^i£* ^ «^UI jj> JOS JJfcJI U» 0^ o&> •( -dbf ) ^-Jj ( .dbt ) mLul.1 j^.
.J-»Vl obLJI »jitl5 oLo ^
rr
a*'* 11 tM
Structure for database Lib2.dbf
■Hi
|||H?Bi|^^^^^
^^H
|HM|1
llPp:
i
AUTHOR
Character
20
2
TILTE
Character
20
3
PUB
Character
20
4
DATE
Date
8
5
TOPICS
Character
GO
6
ABSTRACT
Memo
10
( r
- V ) ^
^ iJUII a* ^j .( Ctrl-PgDn ) ^UL. J* JjJuJIj olIi>Uil Ji> J^ jijll
XjI^LII ^ .1^?! jll*, .Ji»JI IJu» oUU JUi? lj*l> iiUJI jv-ojj iiUJI jw*
^Ui* jl ( Ctrl-w ) ^Ui- J ( Ctrl-PgUp ) ^Li. J_t J*JLiJI ^
.iJli 5^. JUiVI iila Jl ^j>Jlj JJbJI IJUb c»\iL. &£cl ( Ctrl-end )
£j\jyJH~& jjfb -Jlfr J^2mJI *^^ U^-r^ (J* ( LIST ) >»Vl »U»wLj JUX- J^Xj
JakJI IJl«> cjLjjI»w> jiJ^. iljj LoXLft ^SJj .( memo ) U£ ,^k; ,>£Jj ol&>")UI Ji>
: *L. ^tf ( LIST ) jfi\ j-. Ji*JI ^J j^ ^
LIST OFF Author,Title,Pub,Date,Abstract
( i - V ) J£jJL g^jll j|k; aJUJI u* Jij
LUtf" fSa olii>^II JJbJ ( t- ) ^yJI JbJ*=J ^LtJ- •( SET MEMOWIDTH )
: JUI ^1
SET MEMOWIDTH TO 40
fi
^I^JI £ M
Garton J. T. Decision Support Systems Byte Magazine 03/01/85
This article discusses automated Decissions , Support Systems used in
modern business Mini and Microcomputer systems. It includes a
review and comparison of several currently available systems , both
as support , knowledge Maker , Mind games and Decisive.
Franklin B. W. Automated MBO MBO Monthly 05/01/85
Describes several automated systems that support Management by
objectives (MBO). The basic theory of MBO is discussed, the
several MBO systems are reviewed.
{.t - r ) j£a
JuLS" ^iL»j £^»,i iSjjki JJLLJI olii»}UI u *j} c^j*} ^-j •( Command File )
: JLJI ^b^JI
* - - Sample Program to print database with memo field
USE Lib2
GO TOP
DO WHILE .NOT. EOF0
? "AUTHOR
:", Author
? "Title :",
Title
? "Publisher :
", Pub
? "Date :"
, Date
? "Keywords
:", Topics
? Abstract
?
?
SKIP
ENDDO(while not eof)
ro
^IjjH fiji
.( - Y ) J5LiJI Js l*^3\j)\ OliLJI ^fk3 ^■l3 / JI li» JUAU JLLtj
Record no. :
1
Author :
Garton , J ,
Title
Decission Support Systems
Publisher :
Byte Magazine
Date :
03/01/89
Key words : Support,knowledge Maker , Mind games
This article discusses automated Decission Support sytems
used in modern business. Mini and micro
Record no.
Author
Title
Publisher
Date
Key.words
Franklin B. W.
Automated MBO
MBO Monthly
05/01/89
Management , MBO , Microcomputer
Describes several automated systems-
( o - V ) J5Li
n
*-«j*»tM
LIST FOR "Computer" $ Abstract
ollbOUl Jjfe. J» ( Computer ) i-JT J_c ^jj^j ^1 o^U-JI &*. ^^JJ
: 3JLJI *K-J' j*> -£>*, ilWI u* ^i ( Abstract )
Operation with memo field invalid
Jlill J US' ( Topics ) ,^-j ^JU >7 Ji> f L^iJ ^ ilSLill u* £**Jj
>* ^v" &'* -^ c^ w^' ( Topics ) g-bijU ^j}j jaju ^j ^ ,i^» jjLJI
: JUI yjfl Ll^ jll^ "ilLJ
LIST FOR "Computer" $ Topics
Ji> ^ ( Computer ) US' J* ^^io ^1 o!)U-JI £**> obL, ^^ ^
rv
gjy„U »|>lll
JbJWI JiaJJI
a^jr^^r
r\
^^^ Mill «&^^m1
^i l^L&iJ ,>£*j .^dl ( Techniques ) iil^JI JiLyJI J-c ji^ J-aill li*
OljLJI iJLfrlj kiLa J^Ai- ^JW jLj ^X. £t?vJI IJL-fr g^li^JI JLuL£ ic^w ^ »j*^
Jjj^aJL g-«Lrr" *-k£ c^i A lij •/—£" oUUI ^ L«LI JjJu— j jl3 iiUi jl »£»*>
J-oj JLaj J^oitl lift ^ Lf>j-" |^r* l*~" **lx»JI Jjl—jJI »UwI.J JLLc Lol J. J,..M
fcl* Jjlj .ObLJI JJLtU iJJLo *^> ^ L44 jljj Ljjj Sjj-U-o Jil5i Jl bL*JI ,^aj
.Jill o}U- (j^jy ,j» ( Index ) u-^iil ^ L&lJ j* JjUjJI
^j-ij^iJI J.x^?».| > - V
I^J %*&** ,>*• «-* l ? i 0* Jjyj oL-,UJI o-ft h j ^ t** L® ^' ^~* t^-r* 1 -v^"
y^ *j%La lyJuf ljLSUI CtUuL* jy Jj^U ^ JjVl « iloiJJ jU/u^ JLfi «j*mJI
JU il*JI jli (^ ijL^JI j15" lilj g^^ll II* Jji ^j^J ^1 iaJuall Jl J-ai
j>T (P iyfjli ^vfUl Jl »^L-« ijLfcJJI tr* 3-Jlill iLrkJIj .*JLyJ» »■*-« Jjj£-J
p3 >UI i»uuJI ^j jbJbtfj ( JjJJI ^ ) US' ^ ^^Ul ^ ^i^Jlj v bSJI
Li* jV l^-J" L5, jib ,^1 vjliSJI ^^ ^ i^UI ZJLc, .LkjLJI »Jub Jl .jLaJlII
.iJjj^U ^U+ll y^ill* l*V» Cx&i lt"^'
JL* ojX: *^*> LjyC .^jJI ^ jjb ( DBase ) iJbU g-.!^ g* ^-*^ L*j
C*JI uj^IUI oLJI J* ^jz^ ^Ul J*uJI Jl Jj^-jJJ oiUI o^k- ^ J*- J5"
J* Jj^ <JJM J*^' J^ «l^ ( Index ) ^.jv tiL. «Liil ,y» ipliJI UjJiUj .jllc
j-j^UI IJL* JiU ^^JLkll jLJI ^ .i^Jlj ^l. ^Vtf -llc ^*J| V ^1MI LJ|
.J»cJI la* Jl oUill ^ aJ JjUII Jj^JI ^j JUJbJj
.( INDEX ON ) ^Vl r IJL^-L ^jvJI .Lftil pi ( DBase ) SlsU g-U ^j
: *L. ySVlT obLJI Hjlc-G JL. g^ jll* «u-,I iUS^ ^^iJI li* Jj-ij ^ U"
USE Cadets INDEX Name
.sjJkU jLJI ^ i*JI „i ( SEEK )^l jl ( FIND )^l p Lis-l ^ US'
«-**-* J* ri Ji^* 3 <i' J 1 *-*! J! iiije a--^ 1 «-* L » j^* o' <^-> oLLjji »i* .1^.1
.^j^ill IJL> Jx. oU~JI iJLC.13
JL* jLi Ci"5U-JI v-Jh ^ 0-^1 j.ljLiwL-1 U^jj jjXll icj-JI JI oLi»VL
»lc«JI Is-jm OjLtuij ( DBase ) HjU g-»l^ Ujip ojU-JI ,>e. <£*JU ZiH^a I5j>
Ji* ^yi lLjvJI "Lcj^ iJjLLoj iiLidl £^*JI jjj» ijij-t *-fll ^-J dJJU .Lfl^j- j-«
■LJ-'J S-tj-"j *« Li5" ^_a jup ^^ijl Ju*»UI LLjJiJI n^ljJI Jai»t-» j^S: ^> *i>J»
.J^w <JJ? Jx. ,sy^i (Test.dbf) *— I oU- Iju-13 «JL« ^La ^i ,j2>>i; }Lt»i
jajjs. il^jj ."iUL. ( Mohamed ) ^1 J^ ^^o o^U-, iyLc. JL* ji ^jJtj
J,,S Jli-tf ( FOR ) Jul? t- ( LIST ) ^Vl f LJc-l pi J^l U^JJI ^
: dUi ^j: JLJlxJI j>-JIj .^*ji
CLEAR
USE Test INDEX Name
ACCEPT "List what name ? " TO Search
LIST FOR Name = Search
: JLJI . JI>JI Jiuj ULill g— r- £-loJ' li»-Js*a-Ji*j
List what name ?
J^l s/lill ^- iP ^J^ r> 'K*' (Mohamed ) ^1 JU»I -^j
^JJI cJ^-^'l li*. J- ^ *=" t^ :<=**-« ■=*** ^ J ( Search >
£Y
£_4J4*JI *l%jll
^jiii r LL^-,l jllc ljLJ rr Jlj* dU^w L^ .( Floppy Disks ) fcjil ^L^Vl
.( Hard Disk )
^1 ji ( FIND ) jJM f ljLJa-l ^ ZJLJI »Jl* ^-iJ JljL^J S-iUJI *Ju>JIj
^IjLiw-l ^ ( Mohamed ) ^-.Vl J^ ^j^j J*«« Jji pS* Jlo*j ,p ( SEEK )
: JJi ^jj iJUl jjkJij .o^U-JI JSL ^^J ( WHILE )
CLEAR
USE Test INDEX Name
ACCEPT "List what name? " TO Search
SEEK Search
LIST WHILE Name = Search
yJLJI ^jS/l f L&iJ i)U ^ ^Ijj ^ji <y dUi j^i, ( Floppy Disks ) *ij\ ^(yfrl
.( Hard Disk )
S-JS" ^-o ( LIST ) j*i\ jJjlJw-L *^j jl jiLj dJi jL» JJfcJI llfl ^jit 3^3,
( WHILE ) j ( SEEK ) ^i\ r U^J ^ ^^1 f Ijl^J ^ L5" .( FOR )
: Jlill JLtll JLJj-b -jii^, ^jJUJI ^j JjiJI r^i>j^j .iJL*JI iJ Jij .UiuJ
^jjUJI JJ> ^ £-*-« ^jjlj ^r° ' JL ~ ! tr*" £»}L*w J' 0-^ *1**~}\ iljj *jl ^j-ij
LJi" £« ( LIST ) ^Al r L^L Ijlj iJUJI »i» ^ .>T j^U, ty £U3j ( Date )
: j?i\f (FOR)
USETest
CLEAR
STORE" ■ TO Start .Finish
@ 10,2 SAY "Enter start date" GET Start ;
it
PICT "99/99/99"
@ 12,2 SAY "Enter ending date" GET Finish ;
PICT "99/99/99"
READ
STORE CTOD(Start) TO Start
STORE CTOD(Finish) TO Finish
LIST FOR Date > = Start .AND. Date < = Finish
..j&lJLI
: IJLJI j>-JI Ite & tf>Nl ^j>JI f lte~\ Ji*j
USE Test HSfDEX Dates
CLEAR
STORE " " TO Start , Finish
@ 10,2 SAY "Enter start date";
GET Start PICT "99/99/99"
@ 12,2 SAY "Enter ending date";
GET Finish PICT "99/99/99"
READ
STORE CTOD(Start) TO Start
STORE CTOD(Finish) TO Finish
SEEK Start
LIST WHILE Date < = Finish
jui " a l ^ .( Start ) 2-M &M > **» J^ 1 ** Vjl ^- ^'
uji ~ Ijlj ^i dM ^ r= ^' * * ( Dates >6^" ^ <> ^
.(Finish) > ^ W feW ^ (SEEK)^. lU* ^ H **
^«)Xm rS^ ^ ■*-* * * * (SEEK) <* " **
u
>I Jl JizL; ( Record Pointer ) o^U-JI j-ij-o ,3V .0%*-, Ji jaySi g*^>jJ\
fcj £**3 j>i ii^l» f Ijl^c^.1 SJUJI »jla ^ J^ub tiUJJj .( End of File ) «-Ull
USE Test INDEX Dates
CLEAR
STORE " " TO Start , Finish
@ 10,2 SAY "Enter start date" ;
GET Start PICT "99/99/99"
@ 12,2 SAY "Enter ending date" ;
GET Finish PICT "99/99/99"
READ
STORE CTOD(Start) TO Start
STORE CTOD(Finish) TO Finish
SEEK Start
IF FOUND0
LIST WHILE Date < = Finish
ELSE
LIST FOR Date > = Satart .AND. Date < = Finish
ENDIF(not found)
j-oSl flJ-*^~l 3-ijJ" 0-*- Vj-^I tr^ -JL j^l <Sj±\ J-ijjJ? JLi»j
: VL, jN\f JJi, ( SET FILTER TO )
SET FILTER TO DATE > = Start .AND. DATE < = Finish
LIST
.( AVERAGE ) , ( SUM ) « ( COUNT ) Ji. i^U^II ^.IjVl ^ JL*
V>UJ "*ij .i^ I>jju i^U>JI IJUJLJ UJLL3 cu5j JJLC UJ 1> S^ ^IjVl »i*,
: ^Ul c^Ji LLT ^ ( Mahmoud ) ^1 J*. ^.^3 ^1 o^U-JI iji*
£.0
USE Test
COUNT FOR Name = "Mahmoud"
.(H-VI U* Jut JjX»w OjUw »
: JJUI ^l_,Ml Jul& |j> IjjJ" ifjju ojjil lj* JJLC
USE Test INDEX Name
FIND Mahmoud
COUNT WHILE Name = "Mahmoud"
.( AVERAGE ) y.% ( SUM ) ^\ ^ l^LJw.1
.J,Vl zl>M tffc* oeiJl osJUll oijkJl
USE Test INDEX Name
REPORT FORM Repl FOR Name = "Mahmoud"
: ZjUI ZLjLII ^jj
USE Test INDEX Name
FIND Mahmoud
REPORT FORM Repl WHILE Name = "Mahmoud"
i'\
c»%*~Jl g>~JI £~*UI n - r
^5Uj • ( Temporary ) c3>« oiLo ^i c/>U-JI &> i****^ £— j a|^ Ujll*.
: frpjujaj dUi JLii3
USE Test INDEX Name
COPY TO Temp FOR Name = "Mahmoud"
.( Hard Disk ) yJLJI ^JS\ J* LjIs r- Jlj> JI^l-j LJL*JI u*,
USE Test INDEX Name
FIND Mahmoud
COPY TO Temp WHILE Name = "Mahmoud"
t^j^cu (J-J49 oliJu &« J-lxJI V - V
<_JjJLkll iLJLjJI \^^> Likpwo L^jjJ O^L*-JI y**3p <J! pW UUi. . £'~*V
j^Ij ( DBase ) *JbL- *-»Ijjj -^^p oliL> Xa*. ,h»a-.l <^£-j 4JUJI u* ^j Ujjj>l
.cJjJI ,_>*£ ^ ij*j^J 0UL0
fJ1\ Ji> J* «Lj ^^ .LuJ ^5Lj ( Cadets ) ZJkJI a*ta g-^ «i *i«i
: ^W ( Name )
USE Cadets
INDEX ON Name TO Name
i\
: JK (Class) ^L. *3>JI ^ J* .U, ^ .1^1 ^ US'
USE Cadets
INDEX ON CLass TO Class
: JUI jk-JI Joli£j \jut frytjfi)! fCi c£+a
USE Cadets INDEX Name , Class
( Name ) JjVl «_ «JULI ji £-> SJUJI »i* ,y U> ^ ^-^ill oUL» ajUS" y^yj
^ J^-Lcdl j-ljl o- -r*i tf' f lJA=-l J^i •( Primary ) .^-^Jl ^-r^ 1 £r~
<__*. ij^ ci^U-JI ^^u ^.li^l op ( REPORT ) . ( LIST ) Ji. o**-JI
J*> £~J ( FIND ) . ( SEEK ) ^l_,Ml oi L* .IJi&y J>\2\ ^1 > .U
: !SLL« JUI >JI LtT ^ ^>JI ^W* .^y J^«3 4^1 ISJ,
USE Cadets INDEX Class , Name
£=i Lib ^U, .^Jl u-vfUl y> ( Class.ndx ) JjMl iiW c~- ^Ull m* J
^ * fe.jxill ^ ^>ll oUL- L.I .S^jSill ^1 oliU *^»~- J! j* ***-
.olsLJI U*U JL. J o^UJJ JWI e^ u ^ tA -** &-" ^ Wi:!a ^
^i cul c=i ji> ^ -us r^ ^ a- ^ -^ " u i r* ■** E^
: ^IT dUij ( REINDEX ) >Al f Lfe-I { Ujl*! A- o^ 1
USE Cadets INDEX Name , Class
REINDEX
ih
uljlalC
l\
,UaJI n«n-j .siljlxaC
•LkjJI ftw L ^> LmjjJLj »j5viJI »jj> j-Uj !»j t^J i»*J xllajJI »^n.<-i" lj-j JiLc
luu LoJLLCj .( ? |jul j^I j^a ) JUjiJ JL-J jb R^ob^JI Jah^a IXj siLfrj .J_al5j|
fci* JKy wJ»SI j^jI ) »^JL> J£" JUu 4*Jb jL-j JGlJ jLi^JI ^ IjUy Jlj-JI lift J_fc
..UiJJ (jiL^-JI ,„^.,ua.lll Jl ijL^JI ^ J-tjj dljlliJI »JLA pj«*i4 ,^-oj .( t^jajjl
: ^jVIT Lf>j-i ^&»j i»Lc LLu ^^.^Jl CtljSv-j
• r lkJI ,>- .Jjl^JI jl JUSLiil otj/O - >
.oU-^tJIj cO^>j1I tji,yi^j2 - Y
.( Database Structure ) obLJI Ucl3 JSL* ^-— a3 - V
.Sjj^w* *iJ»j Ifu Ji" ^ijj ( Modules ) iuiji ^Ijj Jl £*L>JI ,*~~£i - £
.i^c^iJI gt-ol^JI ijbS" - o
•J~*ill Ija ^ olji»?JI u* ^ ijaj- JS - ^i jfcij <-Jj-ij
( Problem Definition ) U£»dl ^ju N - t
. f lkJU f LJI ciA#JI jl l«l> vjJ^I *>Ctll -uj~3 ^* f lkJI r .,. rt i ^i s>i. Jji
jy iyji- Jjij .J^-i XJUI ol>»JI IuLj jIT UaIj, Jajl*« 0JL4JI Li* $S UTj
t ^u II*, .( ULJI ^ oUjLu. " r lbs ) Ji, jL-ii f lkJI p-,1 ^ jju3 JbJbcJI II*
p-71 II* &j .ZJLUI ,>* i^** cL>w J* J^Jjl ^ f Uii .Uil ijjlkll jl
^Lai iijjMi j^ ^ }U3 ^-i>s pjo liUil . tLr 2JI ,jbju Lo»U jj^i »■**>
f .Ux~JJ ^ ol^l*- j.lfc «UjI ^^ILII jl/ Up . r liJ| li^J ^LjJl ( ^1^A\
Jl o^JI Li* J-jUj g-I^JI JiLm J* J4-JI ^ ^^^ iJUJI »jjb ^i .a^JLfcll
: ,yVI J^t-o >jJbb« £>\jk>
.i-HJI ^ ifi.j*>wi jl ( j* w uJU? oULj lU.g.-^ jjjUj itLU - Y
0\
/UalJI fg.Utt jlAfhX
.Lu*3 JZ\ ^>i ol>i Jj ol>^II U* JJUw ^ US'
( Input/Output ) oU>JLlj c*y±A\ JU*p r - i
( Input ) .-— UJI J[ Jl>il v^L. juj^i u» f lkJI fL „nz ^ UUil ;>^]l
ji ji>yyi i-Aj" ii>^ii »i* j» ^-Kj .( Output ) jul. «ju. j-^j J y^u,
^ ^1 J* J^*JI jjy ( Cadets ) UUI ^ oUjl*- f lk ^i "*uj . £ I>VI
-v-UJI
... j^Uill ,Jiju o'yjJ'j p-V' J* Jj=*j ( Reports ) SJkJI oliU ^12; - \
■c"
•u'j^JIj (^-7' J^ 1 iSP* 3 ( Labels ) aJMI i>^ jj,U; - Y
Name
Nationality
Address
Phone number
oULJl ajo^IS * *— &
Y - I
3_jiJuJI Jj-iJI ,>*> i~~dl v*^ Li*j .oULJl SJJ.U au J^i* o-« J-*> iK
J i-> .iliti <> ^^J ^Jl ( Character ) IJ^JI J^JI w* ( Numeric )
j^lI oULfi ^ l*.LAa-l z&ui j*\ ilJL*Ml ^* »L* ^' J^W »>-*•
or
Bill jj.m xAjhlL
< oJLJLI IJLa fjj JjJl?o \*^a •o'jV^ *-&* '^! l*^* *l>vll »A* (^J v°?i>
.^i^uJI LUtf" ^ UUI i^Li oLo^Lw r lkj ^ ^U .aJU. .Lj i^^JI ijjJUJI JiJI
USE Cadets
INDEX ON Name TO Name
( Modular Design ) ^UlJJ (>JlI r< q-JI 1 - l
.ojb^ SiJ>j jZkj lfL« Jf ( Modules )
g-ol^Jlj 4J— -ijJI g-»ljjJI jux*3 ^j ( Hierarchical ) ^>^\ jXill f JLi«i-jj
g^lj^JI jjSLj ( Cadets ) iJUl oj^ &L>^»* ^ ^ ^H*j .^l. J^idll "Ls.jA\
JLcyUI g^lyJIj ( Main Menu ) V-tA^' a»-1*'I j»j»j »j2j ^JJI j^li^JI ^* ^-'J l
: SJUI
Cadets Information System
1 - Add new names and addresses
2 - Print reports
3 - Make changes
4 - Delete names and addresses
5 - Exit
Enter choice:
g-li^U ^1 ^JjJ\ ^ JbJI J&Ulj
or
/Ualll rtf*taJ .=.1^1**
X
Cadets.prg
1- Adding new data
2- Printing reports
3- Making changes
4- Deleting records
5- Exiting
CadetsCprg
Making changes
I
Cadrep.prg
Print reports
■
X
rep.prg .
Creare reports
]
Caddel.prg
Delete records
label.prg
Create labels
M - t ) JSLa
U
£*\jl»*jlh
U^Ull J±ajUI
$«f>*if *jU£
00
( DBase ) ibU £-.1^ j\ ( DBase III+) g-b^ J*> ^ £-1^1 kA£ ^
s>\/i\ J* ,£^0 ^1 ( Command Files ) ^.1,/sfl oliL. LLT j;> ,>c. tf >Vl
.o^Uiil J&d\ J-JLjJL UjlAs ujjikil
ol ^ -^IjVl oliU i,L^ ^ ( MODIFY COMMAND ) ^\ f -U^y
g-tlij^i ,>»UJI ( Text Editor ) .^biJI j^-JI J-JLfc Jl ^i^, j^H li*
j^Nl jOiiiw Li" .l^Hj^i-iS, j-«ljVl oliLo Lb^ jlL^ ^t pi ^JJI ( DBase m+ )
.^IjVl oliL. J-Ais ^ ( DO )
Ijl*j .4^ ^UJI ^1»JI j^all ( DBase III+) £-li^J op t^?! J~- Li"
,UJV ^Ui .( MODIFY COMMAND ) y?i\ &J, ^ «L&jj pi JiiJI £*^ll
: JUI ^.Vl Llii* ^ ( Test ) «_1UI
MODIFY COMMAND Test
jtliSj .L4J5U j-«ljVl SjL^J LJU J-iLi j^ki JUiVI ^Ui* J* Jii^JI jlla,
»i*j X>\£3\ ,y jXkJI LfSjpb jx. pi ,yJI jsjjUII g-i«>3 ( Help ) »ju.L«» Ju5l5
.( \ - ) J5LliL £i,jL\ JjjL^JI JAi ^ l^i5l£.j ^i pi ^lill
yfltf ^-oljVl oUL. LL^ J* l>i ^ ( Test ) tilll ,>. ^>- JbLS" c^
: NU-
CLEAR
? "Good morning"
p5 .lfL.U3 ojIIjII ojj>JI J{ Jj-»jJI ,y JjOsjJI ,y »ij>jll 5^-aJI £-3U* f L»«iJ
«-M ,*>* Ji tf*Ji 1*»j •( A W ) Llrf" jf ( A End ) Jut* Ji> ,>* uiUI *->* pi
.2LUI i^i- Jl liyJIj ( Test )
oV
gAjdUUaJa
iijijjl
-till
JtSl Ijk- ^jll dL^w
E J f
Ji-V !>_ jAjll J^
x ji J,
jLJJ li^ ^ijll oL^j
<- J S
0^ l*j> .,Ajll 4o»w
-> ji "D
jAJ^I Jj* «-V*JI jt— «
G jl Del
.ij3>JI LL£JI J\ (Ins) «l^fl Ul> JI J^l
"V J Ins
jW 1 J' **^ ^Ajll &,_?*
"F ji End
jL-JI JI US' jijll dL^s
*A ji Home
^4>ll u^ JU- >- *iU,l
*N
j-ijil (jCi **lj 75—0
*T
j*i>ll jlSL* jh~, Jt-wo
*Y
j-»ljjl kJlLo ,jJJ«J
*W ji "End
JUll ^>j>u jji JliUI Ij-ij. JJ ^>>jJI
"Q ji Esc
(olkv^UI JjA> u JiLc .J^tl^i) ,^aJI J-S^iJ J^ju
*Ka
,jaJI ^ Lljw JuI5" ^x. liotJI
*KF
I^jlc v^jkJI *~» ^1 iJLlJI USUI ^ISLo jujk^j
A KL
j-ijll jlSLa ,y (js-jl^ <-&* Llj5
*KR
j>l *— <Ij j?-l utLo j-i (J?*-" CJlLo IjuS
*KW
( \ - o ) J£i
^ Olll IJUb ^jJij i\ji L.JLL£j ,_illl p-V ( prg ) jLa^VI ^a. g^U^JIj
: ^1 *j&
oA
DO Test
: Jrt\ jy$> 3 iSLJI £—. Ja*% JU-iVI £liu. J* J*i^iJI JLi*.j
Good morning
LiLJI jt-*; iju <i-> . 1 >j>«JI Juiw r U ( Test.prg ) g-^li^JI J -k>^
.j-LJI >-JI ^^ ^ ( Clear )
: JUI >-JI iliT ft, "*L> £-1^1 IJla JjJug i\ji Ujllcj
MODIFY COMMAND Test
.l$bjU5 *Ly L^oLS" JjLJI j^k-JI jfkS SJUJI »Jub ^j
tLy IjS'li j-*^> ^ *jI>)" »JJ> &J* 2 r> *-^j jLl^j'j .J&i-JI Jlj-» LjJLLo ,3j^j
i yij fr : .<a.*Jii j-u vtoJLxJI a<~w IJJ>j .j,:.^.i-o ZJLx- JUjLj «JLj ^ ^ fcd il IJL* Ju^j Jjt
J^fcLUI IJla ,>^~ ^ji L^LmmI *^j j-aljl JJ-c- JUaj .dUi J_t »Lj L^_o JJ*
Jj>Vl ^ L$JLt eJ -aJI C UJI ^ >«ljVl »Ju»j .<-— UJIj j.jlJclJI ^ ( Interaction )
.XJLJI
( ACCEPT )^-Sfl \ - r - ©
jli-JI kUS" j»^*i ^*J •tP> > b^ Ji*^- tp *^V' *J* L>iJ^- i (*J <LH—jJI
: JWI
ACCEPT "Send report to printer ? (Y/N)" TO Pr
o\
: iiliJI Jft ZjJUII 2JL.JI ^ Jl>iVI c ti. J* JaiiJI jll^j
Send report to printer ? (Y/N)
^ ~ tj kid\ lA>i\ jjSO UXLft 4^ljLiwU,l J-ai; ^1 IJl»j .( Pr ) jJCll ^
JcSJj AJiJjJI 4jl>V' Jf*i^ *" U**i^ '"**J .ijiJLC C^-Jj *^>J> »JJOL«ll
.lijx. cotf jJ ^^ ZJj> !»*# iA>)M »i* J-«Uj
( INPUT ) ^1 Y - Y -
>LLy ^...JJ SJL-j jS.yu £^» ( ACCEPT ) ^Vl A^ j-Vl II*
fJ Li^JLI LUI j-. J-L* ( INPUT ) ;A\ c^j .IH-JI a» J* oUJ
tLiiL p> 4j JjiJjt 3A>"yi CJli* lili .LiJLft J LJj> cotf .(>- Iftp ty*-^.
: JUI >-JI Ltf jSUj "*Ui .^Uft jsil*
INPUT "Enter your age" TO Age
: iiLUI J* *JUI XJL.JI j^iJ J{ &k U*J
Enter your age
. t j^\ o** &> I/Ii ji*^ .Liik r A
(WAIT) j_-Vl r- y - o
->-- > ( Pause) L3> liOl g-M ^ ^ ^ ^ IiU
Jltf ** *& **- *to *» Jtawi- > XV- -=»Wsf 5-W r^ 1
: 2UUI XJUJI j^ J! &Ji la *J '^ *«^
Press any key to continue
.( Default ) i-^ull i)L,JI ^ »I*j
WAIT "Press any key To return to main menu "
WAIT H "
<Jj*}\ &£& V (*^ (Pr) l^'i j?*—* <^j ,y ^uIjlmi^I j£»j Li"
WAIT "Send report to printer ? (Y/N)" TO Pr
IJu» r lo*ti-.l ju,i lilj .Lij> I^Jtu jj5L »}llj[ fZj ^JLII ,^1 II*,
: jfi\ Vc£ pj . ifr;, .,11 ,>* JuiJLt Lwj JLXlJ ^ j*i\
WATT "Enter your choice (1-5)" TO choice
Choice = VAL(Choice)
J^. tf>i>ij ( Choice ) Jtj> ~*jS\i j^u « Lul ^ ilUJI «JL» J»j
.*jixc JLJ Jl j^iill lift Jjpu pi ^ f jiiaJLI aIs-ju ^Ul (J^JI
(@...SAY...GET)^^/I i - v - o
jUislj f a*^JU ilL,j ^ ^i JJLUI ^IjVl Jl* '^-Vl II* f jL^
^Sfl II* ^lj .j/ls jjzj, ^ LUVI »I* .^^ (J ZJL.JI u* Jo Jul>?l
.( @ ) o^JI a*. l^LT ^ ^1 cL3la>VI
U»l ,>>3 ^ dUi jjo ( READ ) ^.'Vl (.jl^u, L* .y i^fljji
^ r oiwLJI Jl> ^ Uux. !AiJ -..jUjI j«. ^JUI jjidl 11* ^ r ^uii
^ ( Choice ) jjiill ^i jUsi-jfl IJU j^w, ULill j- Vj Jlill jL=>YI
: SJUI jjkJI itf
Choice =
@ 10,5 SAY "Enter choice" GET Choice
READ
iJL-jJI j* j* fl ( Choice ) ^iJuJI ^jcX\ .LiiL Jjlj ^1/iH »JL*j
.>* £^^1 J*^ r 5 -a"-* 1 ^ 1 i>^"j j^UJI jkJI ^ ( Enter Choice )
.( Choice ) jJci\ ^ h^j*^. fj^y ***•»*• **=3 ts' Jl>*! fj&i-ll
(jjj JLoLc ii-aj g*«LJI ^J .Lm^JYI L^Llll JliLiVl jl>I 3-yl^ll iZUJI jus
iL-l^j ( DBase ) liiLc «»«Lj ^ L^j^j *^y .L^>L> LLaj ( DBase ) IbU- »*j^
.( ENDDO ) j^iL ^f^j j*i\ \m> oU Jjuj ^j .( DO WHILE ) ^.S'l
ff-aUjJI lift .^JLo ( COUnt ) A*-l g-ob^i JjL^" (hI; AjjIjS^JI JuUJI LLJ?} £~£>jJj
CLEAR
SET TALK OFF
STORE 1 TO X
DO WHILE X < = 20
?X
X = X + 1
ENDDO
: ZAliJI J* jft\ j&i £-M **» -^ -^J
1
2
1Y
&**»
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
j/i\ oUi Ji, .iiLJI £— Jl ^ijj tflll ( CLEAR ) ^L g-b^JI Iju,
.JluIj .LSI JLiLUI J^ j^JiJI ,>- £-0,JI JJL,j £*j ^JUI ( SET TALK OFF )
IjljJ ,J .( 1 ) 5— -ill .jLLtlj ( STORE ) jJi\ ikJ_* ( X ) ^1 .Li3l ^ ^
JLL3 yj .juII l> ^ ^Sll liftj .( DO WHILE X < = 20 ) ^>% < ti \Jcl\ isUJI
^jL-j jl ^_o j>-s>l ( X ) 3u-3 CJlS" UUs> LbKi;" j^~--j ^l 'L iJ \j$cl\ ZiL«JI
^.Vl pi^-. Li" .LsLiJI J^ ( X ) J-J ^^ Jl jijj ( ? X ) ^.Vl_, .( Y • )
iiUII JLiu Ifei pi S^. J/ ^ j*.|^ ( X ) ^Jlill i~3 SiLj ^i ( X = X + 1 )
.lyLCJI iiUJI U«i iJ*,; ( ENDDO ) jJi\j .iyLCJI
oLfc <CjLxS" |*Ij j_oVl IJL*> jjj ZJUJI »Jub ^j .LfJLr. Zi**^ oLJL-c. .Ui'Jj oULJI
DO WHILE .NOT. EOFQ
•\r
.( EOF() ) JUI U«s Jl J^i ^ jt uu, s-^fcll iiUJI JLto ^ LU,
.( END OF FILE ) jU=il ^_,
( DF ) ^1 aL-Iji jlyill ilijl t - d
Cr^-H c£~i) -*~** ca\^jUa J* ,L, j\j iUwl il^ L»ju* ^Vl U* , ^.- _,_,
: ^IT ^1^ ^ ( IFTest ) ^ wj ^ iUS- Ji> .y, ^"l U*
MODIFY COMMAND IFTest
: ZJUI jjkJI 3,1^ ^ U&JI Lili ^ iJUJI ij* ^j
********************************** TpT-cf nrn
* Program to test the (IF) Command
CLEAR
ACCEPT "Turn printer on? (Y/N)" TO Pr
* If answer is yes , then
IF UPPER(Pr) = "Y"
SET PRINT ON
? "You chose the printer"
EJECT
SET PRINT OFF
* If answer is not yes , then
ELSE
CLEAR
? "You chose the screen"
ENDIF
dUil .£-LJI J^- olli>^U jLa^z^ jl>~ Ub g^bjJI li* c>* ^>- Jj'j
P-Ij ^-IjJI ±k^* jJJs J ju& ol^>^ll J*j •( * ) i~JI ^ 0'-^ U*:U
.isliJI £— J[ && ( CLEAR ) j*% .i*»~ tt£, rf aj3
U
£•'*"
iia£
LiLJI <> ( Turn Printer on? (Y/N) ) Jlj — Tl ^.^ Jl <s& JUI >-Jlj
juu o^l IJl» jlT lili f ^i-JI «*£, iflfl Oj^JI jUi-L f ^u JUJI >-Jlj
^lj\l itj-*w. JUL- pi. ( Y ) 0^*11 Lyl— ( Uppercase ) ^S o^ Jj aL^j
^ ( UPPER ) UUI f LAs-l s^lij •( ELSE ) U/, ( IF ) ^\fl ^ ijj-**X\
Ij,ju« ji ( Uppercase ) \j+J iJ>»JI ^j^oJII J»al « 1^- **t~^' u*** 3 J* J>~«*JI
g^brJI fJ i; ( y ) ji ( Y ) j-i >T j> jl f uio-il Ji-»f li{j .( Lowercase )
( ELSE ) &, Ij^wJI j-l/Jfl iiiy ( ELSE ) j ( IF ) ^ Ijj^JI ^!/*l jAi
: U2UI ij-1* ^- j-Vl li* 3olx& g-lijJI U* jL>l $£-, •( ENDIF ) _,
DO IFTest
: 3JUI UUJI ^3 p5 iiLUI £-w pi. UUJI a* <yj
Turn Printer on ? (Y/N)
J* UUI SJL.jil UL> pi JUiVI C UL. J* -Li-Jlj ( Y ) U* ^ lip
: LollJI
You chose the printer.
.( EJECT ) iolkll J* **Ju, JX ^ ^
^^.j iiLiil jc-*j ^>IW f->*i ( y ) j' ( Y ) j^ >T «Jj^ J f! 1 ^ i* 3 '*b
: UUI iJL.^1
You chose the screen.
^uj .(IF) ^L Z^UJI j*\ji\ K*_y>** <lp[ J (ENDIF) UT f j^~jj
^ ( ELSE ) US' L.I .** U-li ( ENDIF ) US* J ( IF ) ^\ JS of ila>^L.
to
£. ( IF ) ^Vl **#, ^il| J^JI ^ £jh, ^i ( up ) JJIjJI f hiC^\ ,>SUy
: JUI >-JI its' ^ ^UJ .l^UT v^UI j^kJI iA * j> ^ fi
?IIF ( X < 10, "Less Than" ", "Greater Than" )
VL*J\ J*,* {£, ( 10 ) ^ j*J\ cjtf liji ( X ) w ^ ^1 UL*
UL-yi ^^ ^ ( 10 ) ^ ^1 cjLS" lilj 3LiUJ| j^ ( Less than )
.iiUI J* ( Greater than )
: 3JUI jjkJI ibT ^ ( IF ) yti\ Sk-ljj JJUJI .i* ^ JLfcsJ,
IFX < 10
? "Less Than"
ELSE
? "Greater Than"
ENDlF
.j>-JI >jl*. J Ojij jj ( nF ) SJIjJI c,i l»"iL. dUj ^j
( DO CASE ) ^1 aL-Ijj jlyUl iU3l ft - 6
gUi Mjf ^-> ( IF ) ^i\ j- "STj— * ^ •JJ-" ^«i ( D0 CASE ) J-* 1
ZjUT ,>SUj .ills c^jZJj ■&** js*z* **^ l*J oVU Iju. ^ jL^-VI g-il^JJ
XkiJI ij-a-. .y J^l ^1 ~*A* ri d& J^J •( CaseTest ) ^-. -u*w £-1;^
.(Dot Prompt)
MODIFY COMMAND CaseTest
u* &}i* ^ .tf=3^i ojlcj .( v - o ) ji-iJu *W v-i^i i& &?
.( *End ) *J£j g-M
■n
***************** CaseTest.prg
* Test the DO CASE command
CLEAR
INPUT "Enter a number from 1 to 4" TO X
DO CASE
CASE X = 1
? "You entered one"
CASE X = 2
? "You entered two"
CASE X = 3
? "You entered three"
CASE X = 4
? "You entered four"
OTHERWISE
? "Invalid number"
ENDCASE
( V - o ) JSLi
JUI jLJIj .iilill £— . Jl tfjjj ^Lk>!iUI ^jk- J*, £*l:^JI o-o JjVl JLJIj
: liLJI J* iJUl UL,jJI ^^i Jl ^ijj
Enter a number from 1 to 4
•( X ) ^iJi*il j-iJI yi p$J\ IJL* ^»>«3 pi
t/Vi ( 1 ) tf.»l~3 ( X ) COlS" lip .( X ) 3LJ Jj. .Lj jlyiJI iUjI Lu, fS
: IJUI iJL,JI j-U^JI
You entered one
.viljL^M Jib Jji» *j
■\v
$****&>
: SJUI ZJL.JI ^UjJI j>^_ ( 2 ) jjLs ( X ) CJlf lilj
You entered two
3ui£J JUI ^Sfl Ijia ^ oljL^VI u> J- U ji^jV ^ JUil pj IM U
: SJUJI ZJL^JI jj& Jl ^ y.j .( OTHERWISE)
Invalid number
gJjJl 3-~£>dl *U£JI 1-0
iuu>JI a* of £~*. ( Structured ) *~-$>JI i^L ^yi i^Uf Ij> ^1 ^
l$I ^ r «... ~ Li" iJ>(— J A*u>i-aJj »jLz>lj ^LjJI Jl p^>jJIj «_«I^JI Jrkjjl «l»_J
jl aJLjucu .LjUIj j^\ ijoaJii *ii.a\jj izAs£ c<«" ^pjJI r^UjJI t«lyu p-*^ JlL£**
.!>UJI '- -«■ *jj>bj
: jftl JlJLj c-^ i«i^l »■*£ £*IW *f^J
^Jl ^.Ij^l ,>. J^^. Ji" SJufej j>i3 ydl i*j,\jJ\ oUfe.}UI f la*aJ - ^
^L i^UJI jA-JIj ijjIjScJI oUUJI <y ( Indent ) j^kJ' «=»U* 4^ ~ Y
•£>*•* J-^ 1 y«o ^ ^ «*=■■ ( D0 CASE ) ^'J ( ^ )
.ULJLjs ^ JUI ZiL^JI £*ji j*\ olj^b ^.Ij^l jL>l - r
-cj fij >% .( r - o ) Ji^JJ >il .( Structured ) l^j=i\ iij^l iUI^.
.{ i - o ) J5LJI >l .Xij>ll »I* iUI^.
ilLyO (.JLft JfcOL U .j-oljVl ,>- i*^»« JT ii-fej £*>! A-itf 0lJa>X. ij*j
r 1 * Jl w?*>i .U*j -*U'> J! G^ w^ 1 J^ 1 «> ( Indentation ) Ji-bl) j^kJI
jl ( IF ) ^&J iJLJI jiA-U L-JL. oUJ^j L^-Lpj 3u,L£iJI iiWI ZJju C j->j
g^l^JI (Ji*- ^ iJi~ L^ *i,l>JI oUWI jup Uu*j .( DO CASE ) ^1
• lj> tJjjut IJLfr A^^byOjj g-ibjJI jL^>l aJ^A J«^-aJ
***************** Librarv.prE
* Example of an unstructured program
USE Library
DO WHILE .T.
CLEAR
@ 1,20 SAY "Library Management system"
@ 3,25 SAY "1. Add new records"
@ 4,25 SAY "2. Print Reports"
@ 5,25 SAY "3. Edit data"
@ 6,25 SAY "4. Exit"
STORE TO Choice
@ 8,20 SAY "Enter choice(l-4) " GET Choice
READ
IF Choice = 1
APPEND
ELSE
IF Choice = 2
REPORT FORM Library
ELSE
IF Choice = 3
EDIT
IF Choice = 4
RETURN
ENDIF
ENDIF
ENDIF
ENDIF
ENDDO
( r - o ) jsii
-VI Ji. £3ljU UJL^. fJ ^u> Jus jl5 j3\ ^.IjVl Jh*j {\j±cl~.\ Jl>^L IS
jLjjVL. Jl UJuto ^ iLyL&JI LiUJI ol ^ju li*j .( DO WHILE .T. )
•\A
-*j>J* ji *La«j, *JI ^>^JI ^j ( Documented ) USj^ U-U* ^u,,v
***************** Library.prg
* Library system main menu.
USE Library
STORE TO CHOICE
DO WHILE Choice ff 4
CLEAR "
@ 1,20 SAY "Library Management system "
@ 3,25 SAY "1. Add new records "
@ 4,25 SAY "2. Print Reports "
@ 5,25 SAY "3. Edit data "
@ 6,25 SAY "4. Exit
@ 8,20 SAY "Enter choice(l-4) " GET Choice
READ
* - - Branch according to user's request.
DO CASE
CASE Choice = 1
APPEND
CASE Choice = 2
REPORT FORM Library
CASE Choice = 3
EDIT
ENDCASE
ENDDO(while choice # 4)
* w hen choice = 4 exit.
RETURN
( i - 6 ) J£a
JjVl g-U^I ZiJ-j ^ &si *jU ( ( £ - o ) JiLill ) ^ilill g-lijJI ui
ij>^-«j ULs A*w>lj oUa»}W J/ ji J»»OL iX> .JL^jJI iL^LJL i->y&j> *s£Jj
}U3 JilaU IiS^j ^ Ljl/JI iiUJI Jib j>uJI JS" ;,! ^>^L IS j^lj Vj L,L
.^j ) Ifijlfjj SjjIjSoII JuUJI SjIju jujl»w J4-JI &a J*ju U- ( Indentation )
jj*\ JI J-^j ^ U-ij ( DO WHILE ) j^i\ ch> LJ4 fr*-^ liL^
jjkJI Ll^j ( DO CASE ) ^Vl L-ljb jljj^j ^ L^ .( *, ^UJI ( ENDDO )
Jeyj>l\ &* L-i y^w cJli" ^dl ^IjVf JIjuiJ |*J Li" .aJu^JI ^-Al. aj jL*UJI
,>. Vju ( DO WHILE Choice # 4 ) ^.Vl f LUi-l ,j ,£*> .**-,!_, ^>i ^IjL
.( DO WHILE .T. ),Si\
J g-l^l JxL^JL j-.^ ( ENDDO ) Utf u^l^ clli^l f LUiJ JkOL Li"
ZjjI^&JI CUUJI Jbp LoJUf. JL»l> ZjLzj JLJU II*j .2J&JI hi* Lft «^j JjjIjSO iZl>
( ENDIF ) UT ji ( ENDDO ) US' juu y^£j oUi>}L. ^i ^i »^» .g-b^JI <j
V\
t**aaN JjUj
fju^aLull JlaJJI
(Debugging) c i i . n . W JiLj
vr
frO - i N JjL.j
..Uiii cya, V JL,I v^ tfill ^-Li^JI j^, L. Ijib Ail U^lj 0j £, ^ ^^
•i*j .(Misspelling) ^IjbU .>UJI .U«JI Jjl. ih~u ^ a3 U^ \IL%
<j-j ( Logical ) ZJ&i- .Uw-I ^ j5j .^.UjJI J^jlu ai* IpLL^I J+w .itiVl
( Debugging Tools ) j^v^ill oljii ,>• U^ vip ( DBase ) iJbU ^.j^,
.l^i^^r, .LLi-Vl oliifl g^l^Jl J»^ j* j^ jm
: 2JUI J^sJI JIL.JI ^ U*ll J* ^^ ,p|| g^b^Jlj UAJI J* ^^
Cancel , Ignore or Suspend? (C,I or S)
( Cancel ) jU»-?l - >
LtUI S^i- Jl iij-Jlj g^U^JI ^jlaj .L*sj JJ rf4j _, jL^I IJL*
^1 (Private) I^UJI s^UII ol^i. JT iy j S s* UUJI a* Jj .(Dot Prompt)
( Suspend ) jlz*-y\ - y
Jj .( Do suspend ) SJL.JI j^Jfc' ^ Ls> ^U^JI ^j Jl ^ jLj^I la*
g-b^JI JL£iJ aC- US' .i/QJI ^ i4j?J- i^ujl s/LJl ol^Ai. Jki'iJUJI a*
.aidl S^i- ^ (RESUME) ^1 Llrf j^ ^ c5_, tf f J
( Ignore ) jL^>l - r
j>k. yJL JUa UjU^j U^JI J* ^^ji ^Jl J&a J| jL^^I IJub ^
•>-JI la* Jx. jjuic- ^ j. lij g-U^JI
Vo
.l|>^ J.LJI 7SXJ\ oljU^M ^-ii ^ iJUJI fci* ^ .( Esc )
(Memory) i/ljJI ^i^ y - n
.LSI ( Memory ) S^LUI ^^ ^b^JI .U±\ oUtfl ^i XJUiJI JiLyJI ^
: JUI ^-Vl iU* ^ *L. Ck ju. IL* i.jj^ xui
DISPLAY MEMORY
i/IJJI c»U*l. A-> j-. ( RAM ) 13jil ^IJJI yi> j,^ ^ JJUJI »JL* ^i
: JUI jkJI LU" j»i; ijjjJI J* i*^L. s/lJUl «.Lp>« J* Jj-»JLIj
DISPLAY MEMORY TO PRINT
: JUI jk-JI iUT Jj^ ,>* rjiill obLJI *jul5 uiLo JSLa ^j* c^i ^
DISPLAY STRUCTURE
US' .i>>_H> ^*> ii' t-JL-i^b U-^ljj'j Jj^JI >L<I jL^>l ,>^»i UUJI »JL» ^i
obLJI jLftljj oliL. .\^J j»j*1 ( DISPLAY STATUS ) ^.Vl f LiiJ ,>£-
.(j-j^itl oUL» dUiS'j i>jlill
( History ) gjjbll ,>>c r - n
p 1^1 ^^1* >T ^^i UJ fi L«l» I/IS j* ( History ) ji,UL ij-xill
t$f Jl ^ytJ\ *jlSL.| Jl rf ajj li*j -(Dot Prompt) SluJI i^i- JiU- ^ UJU-i}
VI
.^LL- ( | ) JcV ^1 C UA- J* J^iJU JJij .l^i &jLs. >T ,>- Jliil ^ jA
.jl>iVl ^lii. J*. Jxi-JI (j o^UJl ^1 ^ ^ d>. a*. ( | ) J*\ j^JI
odll j^lji ji .t-> .( Command files ) ^IjVl oliJL. Jx. j-kuV li* ^j
J-.VI f L-icJ jl* "rfl ( History ) £-L>Udl »^a cr-» *-**i>^ f-V*
UJuLj ^ ^1 ^IjVl o^ j^UI I/li j-fjol ( SET DOHISTORY ON )
Ui> ow a^oUjJI oo_h liLi .^oL^JI JLJUj J-j ^«Vl II* ZjLS' ,>£-j ^ILUJ
^1 LUS" ^ p .13> g-bjJI ,1^1 ,y ( SUSPEND ) ^Vl r LU«iJ .^ jj^u.
j,j*. f~, iJUJI li* ^i, •( LIST fflSTORY ) ^\ J ( DISPLAY HISTORY )
: !*JL. JLJI >~JI IJef $J, ^ \jA
SET HISTORY TO 50
JLij .Lkl J| tfi^ ( SET DOHISTORY ON ) j^i\ $1 i^-X. <-~,
(Debugging) ^^-aill ZJLt ^ .L^aVI ju* ,^1^ tflUJU, .s^**" i^yju g-«ljjjl
: juii >-ji lusl ajs, .,>ai ^yi jr ^Vi ;»u
SET DOHISTORY OFF
( SET TALK ON ) ^—^fl f IjJ&J I - n
JiL^I ^JaV <^> ^L^ rf f ^ ( SET TALK OFF ) ^.Vl LbS" ^ i»U
.g^ubjJI jwwi3 JLU. |j> ULuLo ,^£j JjL,jJI fcifcj UJLiij .*£; "ijLi- Ji" £*&p ,jlll
jls ( SET TALK ON ) jA\ Us* jl^^Cj g-L^JI jLjSI *L3I J^Lu liUJLJj
•Ijiii. Ji" Juitf XLfr iiUJI Jjt _rfii3 jj\ J^L^JI 2joULo ^ U" .g^lijJI JtH«-i3
vv
fr|>» 3» JjUj
( SET ECHO ON ) ^-^l ( \^^\ o - n
Jx >- Ji" ^^ Jl ^ li* 0> u ^1^1 JLia J-i ^.Vl Ijl* LUS" xLft
3- .l*irtl -^ ( Default ) „iUl ^yi j| ^Vl nUI w ..JLto JJ liLUI
: JUI >-JI ^USL dJjj ^.^.a.-JI *JU
SET ECHO OFF
( SET STEP ON ) j^.H\ t L&uJ i - i
.Li^JI ol>> j^^j ^1 JiL^JI iji ( SET ECHO ON ) jXl f UfcU xj.
*** c> JJ*-jJI Cr^Jj •C^')" Jr- ^ e—LlrJI jLcj .Ul iiUJI Jj. ^k;
**-» jj^t .LLI j_jjI lip .oljJwJI »ju» JUL3 i*^. ^ Luj- _,4k; DUI
^Vl f LiiiJ aJUJI (O* ^j 4^L«i Lfijoli- g^l^JI JJ^, ^.t,-..., ^ JiUjJI
^Li^JI ^3^ ^ uja .11* ^f Ji" ^^ J[ ^j^, ll*j .( SET STEP ON )
: IJUI SJL.J\ i&jt. f5 L3j>
Press SPACE to stop,S to suspend.or Esc to cancel
iuLd ( Space ) oliULI ;>— J* JwjJI g-ljJI JaL»J ilUJI u* ,y ^SUi,
jl 3LL. ,>-** U» Zfa»3U JULt ciUij g-bjJI JuLj jJuxJ ( S ) U* jl JUI ^.Vl
£-«>ljJI -LLkl ^-Ij IjL»j .g-olj^JI j-» £j>JJ ( Esc ) vjj^" c* -1 * - * «J* -k-"~*"
tiLliTI Jji Mf.l...j L-o g-oLijJI J-iw .US! ^IjVl JLis JjL-y j>fk J* *£»=JI
.^oUjJI ,J ( Logical Errors ) JLikJI ,U»>Vl
( SET DEBUG ON ) j .Vl f 1jAsJ v - n
j-«Vl £* -J&i-j j*j .a*jUjJI Jl £*Ij,JI juto ^Ijisi JU$ j-»Vl ti* jai^-j
:>».•>> g-lijJI ol>> Lutd (SET STEP ON) ^-Vlj (SET ECHO ON)
VA
.Lai j$& j$\ ( Error Messages ) .UiiSfl JiU, ^>i £~j»j3 f^ -J^" U* »y
( Data type mismatch ) 5 lU^JI \ - a - n
JLi^. obLJ" JL^jjLJI oLjLJI ji "iLL. ojJb^ iui^JI oUUJI 3JUU-
: JLJI >~JI il^ jll* ^U .lj&»,
LIST FOR Date = "01/30/90"
Ji> ( Date ) Ji*JI oV dJi, ( Data type mismatch ) UU^I ^ks
oL j^i ("01/30/90") o-i^l ^>" <-•' •<>*• &jlJ <> tfj^~ i>i)b
ij-ju tiUi g^UJ, .( Quotation Marks ) O o^i^i\ oLOU ij^J ^^
: jfiK i>Uil LJyJ' *-J" J! ( Date ) j^UJI Ji^s
LIST FOR DTOC(Date) = "01/30/90"
( Invalid function argument) 5 IL-^I y - a - n
: JUI >JI Llif jllc !*±J .>T Up ^T,,,^
? UPPER(X)
u* ^ .( Numeric ) juajui i*-5 J^ j>^v ( X ) _^JLdl jl ,>>£>
: UL,yi ^ ilUJI
Invalid function argument
oj^> JI X-vJI o^Uall JipcJ Jtii f JLk^-3 ( UPPER ) XJIjJI $1 dJi_,
V*
.(Uppercase) >^.
( Unrecognized command verb ) "* 11*^1 r - a - n
^ iJUJI *i* ^j lk> j-Vl .U* Z,Ltf .u* iiU UL^I u* ^
c^-i, .( Syntax ) ^Ml II* ii* z**!^ ^ US' ^il .U* i«.|^.
j£, i-,UJI ( Syntax ) i^JI jujuj J ( Help ) iji*UI oLtLi f L&sJ
.^i
( Variable not found ) '* JL^JI i - a - *\
(DISPLAY MEMORY) ^i\ f La=J -^ iJUJI ua ^j .^U^JI
.^SLj L5" .3/UJI ^ »i>>jll olj^iill «LJ Ajyuij »/IAJ| oLyi«-. ^^J
cjiL. ^i J>UJI .LJ ^ ( DISPLAY STRUCTURE ) ^ f fcUiJ
( Record out of range ) 5 il^ji o - a - n
i >?j-° v^ ( Record ) J*i— Jl i_)Ultl ZJjUv* jjlc UL^JI «JL* ^k;
: JUt >JI LIS' jllc. "SLLJ .^iUI ^
GOTO 99
UL-ijJI j^fcu UUJI si* ^j .Jaij ^Uui ( 98 ) J^ <£>£»w <wJtJLil jl ,/v^
.Jj/jll
JLw-Ii r>^il u^'^friJI kiLs ^ lk> iiijJL> JLLfr LSul UL^JI tl» yfky
I»Ij Li*, ."JLLo oLLJI Jjlc.15 oiL« ,y o^L-JbiJI ,j2uu ,l>>l .llc *»ci f Ji*
.(REINDEX) ^Vl f lj^-,L ^-rfill *lijl bUL *>^U
( Too Many Files Open ) 5—JLVI n - a - n
£- .CJjJI ^ ^ C.UUI cy> j-i" iJUi ^ Oift iiU ilU^JI J* ^
gi, £•— J ( Config.sys ) f UlJI o\i^\y> «JL» ^ oliAll *xc j^jj ^
iji* J^Lfcl g-l^JI J £*cl\ ,>£*. U .g-UJJ itJLU ( Files ) oliill
)>>w tiJL* Jf J^-tJ Jjrt» ,>*• ijUi |»^y -o-**-» £Jj ^ Zp-jJjII oUUI
,>& .Lii-7' a* (Procedure file) ol^LiJI «-*L. flaioJ .^^ Lf
M
JM **"
<ULLJI ^^wi i^U^&o |*UaJ
>Uaii\ A j.nr>
Ao
X-..XJU \ - v
&* *JU i ^ k^JI ,>£*,» ZJLUJ oUjLuo .UaJ **«*a3 jJ> ^-ob^JI IJL* j_a 0JL4JI
g^L^JI J**ij (.ji ^Ul O o^jj\ ii ^^iju li»j .( Menu Driven ) ^IjJLlI J}U
j& J! C 1 ^ ^jl> ( DBase III+) ^.b* ^Ui. ^ .^ ^l a^ J| g^ji
jl o>>jil oULJI JjJlo jl oLojJu-a J\ Jj. Jj.^'wlt ajjIL* oULc. J\ \'rj
• jUI ... jl *f ^ mi i*
( Main Menu ) *~*~5jl\ **jUJI .j <?•? y - v
oljL^VI LJ15 ^^ fJ i ^ill g-bjJI j* ^-^Jl g-bjJ'j -cr-^j ij~.U £-*l^
^ U >Tj f ji^Ljl f L.i jfk. U Jji ^j f lkJI yJS ^^ja i*;UJI J*, . f aia-JLJ
.3*4-0 JS* juiij juu Lib 1<JI ^>^l ^ LS A-oUl
DO Cadets
-VI U=SL f lkJI J-iii r -UiJU f yLy
j&z UUJI »1» ^j <tr --i^l g-bjJI r jj*( Cadets ) <i-> .U»UI I^-i- ^
SJlill i^UJI f jiia-JI f L.i
-ADD NEU NAMES AND ADDRESSES
2 -PRINT REPORTS OR LABLES
3-MflKE CHANGES
4-DELETE NAMES AND ADDRESSES
5-CHANGE COLOR
6-EXIT
HI LIGHT OPTION B¥ USING t OR A AND PRESS +•
OR PRESS APPROPRIATE MENU NUMBER
-( \ - v ) j£a
AY
,ltol|
fjli
.»JUJL> C»}L>w ZJLi»l ^JL^-,„.JJ k^Sj jLSVI IJL*j
.iJUl LiLLlI ^.U ^^xi ( 1 ) (Jjll *U&
CAIEI NO
NAHE
CL1SS
JtElIGICN
BMTfl FLftCE
H01HEP. NAHE
FA1HE1 JOB
DATE INTEHED
TELEPIOH ■■
■ BLOOD TYPE I
ADDRESS ■■■
NATIONALITY
FATHER NAME
1IRTH DITE
■■■■!■■ FATHER SALARIT ■■■■D
HO OF BROTHERS PJHO SEC SCOOL AUG ESQ
M1E OF SEC. SCOOL HB HOBBIES ■■■■■■■■■■■■■■■■
NEAREST RELATIVE ,ADIESS ■■■■■■■■■■■■■■
( V - V ) J£i
s^asiJLl oi>M* j*^ 1 ^M* r - r - v
AA
.IfcaM
I
SELECT ft REPORT CHOICE
1
1 - REPORT
2 - LABE1S
3 - RETURN TO MAIN MENU
j ENTER VOUR CHOICE<l-3> |
( r - v ) jsLi
: JUI Jlj — If jikj . oljUSVI »ift a>I ^j^iJll jL^j Lojuxj
Do you want (A)ll records, or (Q)uery?
£*•*■ o°j* J! iPii ( A ) »- i >* J ' ^^ Jirk 0-* ( All ) jL-ilj
,>c ( Query ) (.L^ai-VI jL^-lj .obLJI »jLtl5 ^ ij>JI i-lkll oU_j
: LJUI ZJL, Jl ^ J| jjfc ( Q ) J^JI LLT j^
Enter name to display
fl" <>" J^I"«Jjj»JI ff^ ATii j^jj ( Highlight ) J>yZ> Sj~L JJ& £A
»jJj £*£> Jaju i^—uVI £_o «J^> Jjl ZjLS" UUJI tJL* ^ (ji^oj .t->jJLkll
<u»UJI o"iU-JI ft5jl £* iJ^JI II^j Ijlj ,_ylll .l^-Vl ^> u^^y ff^lJ^JI
: JUI Jlj-JI fj&zJLI f L.I j^ki LJ" .1*
Which one do you want?
: JUI Jlj-JI ^k» -gULj ^^ !_» Jidl ^"iU .jiuLJI jLoil jju,
A^
illalJI
Send report to the printer ? (Y/N)
^j ( N ) i*& Ji*> -ji^JI «-L> ri ( Y ) Oj»JI f ^-„ll ^ lili
.(£, - V) JSLiJU £-»jil ji ^JI ,>ljWI yi ^^y .JtO iiLUI J* -u.^
CADET NO
NAME
CLASS
DATE OF ENTERING AIR ACADEMY
BLOOD CLASS
ADDRESS
TELEPHONE NO
RELIGION
NATIONALITY
HOBBIES
BIRTH DATE
BIRTH PLACE
SECONDARY SCHOOL AVERAGE
DATE OF GETTING SECONDARY SCHOOL
FATHER NAME j
MOTHER NAME
FATHER SALARY
NOMBER OF BROTHERS
6960
MOHAMED ALY SALEM
55P
09/01/85
A
13 -ABBAS ELAKKAD
2603556
MUSLIM
EGYPTIAN
FOOTBALL
01/22/67
TANTA
70.00
1985
ALY SALEM
FATMAMAHMOUD
600
5
( i - V ) J£i
( Make Changes ) c»bUI J-^ r - r - v
Enter name of person to edit
or just press Return to Quit:
iiliJI
There is no <name>
Press any key to try again
j,LSL. jjhj f x±iA\ 4J>a_j ^Lll UaiJI ^1 ji JLb>^L- t -
aj JL»UJI obLJI LiLi j^ki ~Si\ Li* ^U^JI -i»u Ujluj .(<name>)
.ivUJI ywu^- ALjUcJ Ji> Jjl Jx. j-ijll jfbj)
OjpJI ^Ji.'u jy.jJ.V.T.j <i jf i«— '"5" (jiii'j J^«— ' ij-° j^jI *ilL* d)^5v-| LtJUjftj
.o^LUI *— ^U JjUII J*«— Jl *3j jLu>^ p_»*j <^> o"A*i— Jl ,l3jl
i*JliJI ijjG Jj*-JI Jx OjlLlI JjJUcJI «I>>Ij . V^T ..II .ji jl Jl*y
O^Lh*JI £— I - Y - V
Op i...,,:.^! UiUJI j- ( t ) pjj jLi^I f A^iJll jl^o L.JLL6
•L»l jfki ZJUJI >Ju> ^j .r\-J2ji\ J-— Li* JaJu 4JL« «J>> Jjl jl t-ijilall
.j2j jb- cj%*~J\ »\jJ lf«-oj .J>>JI II* jy J^i3 ^iJI .L-*Sll »j^i«il
,^-a JljllJI »JLji7,,i.U uLjjJI x^j ZJLmJI «JL* ^j .kJijiitll J^bJI jL*i>L
•jJclJII »Lol Jiw.nll CtbLu <j0j£- \y>J^ O -6, J-'T^^' '■*■* P ""•* tr* *"*r*J
Records name address
1 Salem Emam 12-dwawin-Cairo
Delete this record?(Y/N)
k— « iljll *-i"yi £-fc jlj-JI ^^Jaj ( Y ) Oj^JI .JJw-ll i t *x£j LaJLLfrj
.Uklll
^ ti, JUoVI c liL. J* J«-sJI *&^ Ipw jl^ ^| ,u,Vl Jf Jl>il
: JJUI LtliJI ^^ &J> ^ \^>i\ jj\ .L-Vl j-> £—
Records to be deleted..
Records name address
6 * Eman Salem 12 - Dawawin - Cairo
9 * Medhat Taher 10 - Nasr city - Cairo
Delete all these ? (Y/N)
&> J*i- J\ olc— I *J £~j> ^-IJjJI jli ( N ) r ai>i-il v^i l>x^j
xShj ,jZ> LJLjJI »i* j^&Sj .L*iL(j ou-. ^If ^^ ,>-l»uJI CH^*
ULj o^U-JI u* ^iAi. ( Delete all these? ) Jlj-JI f Ui ( Y ) LL&
.oULJI tJLc-ti j-4
( Exit ) f Ufcll ,>. ^jlhJI - y - v
.( Dot Prompt ) iiuJI i^si- Jl
oULJl S.x*L3 JL)U e L-JJ[ V -
jl ( Assistant ) xtLil ^.t^ ^1^ Ji> ,>* ^ U W ^a*.13 u»b .tq fi
dJij .( Dot Prompt ) SksJI i^i- ^ ( CREATE Cadets ) jJi\ ^Ji>^
,P> J* &** c Fidds ) J-^ 1 * ^ J * JUJ L * Wi ' ** ^ ^ ,J ( ° " v )
AY
.UalM
CUBSOH < >
INSERT
DELETE
Uf a field:
t
Char: *- *
Char: Irs
Char: Del
Doua a Field:
4
Hard: Hone Bid
Field: *N
Word: *JP
Exit /Save:
*End
Pan: **- *•♦
Help: Fl
Field: A U
Mart:
Esc
Field Name Type
Uidth Dec Field Nane Type
1
2
3
4
5
6
7
30B
ADDRESS
AGE
NOTES
PRICE
QTV
3EEEEH33S
Character
Character
Numeric
Nemo
Numeric
Numeric
■3D
10
38
2
10
7
7
ODIFV STRUCTURE <C:> MOSi
2
2
Field: 1/7
( o - V ) j£i
: y#tf oiUI JSL* ji ^,^j
Field
Field Name
Type
Width
Dec
1
NAME
Character
35
2
CLASS
Character
4
3
ADDRESS
Character
40
4
SEC.SCHOOL
Numeric
5
2
*
DTENT
Date
8
6
TNO
Character
8
7
BLOOD
Character
3
8
RELLIGION
Character
12
9
NATION
Character
10
10
BDATE
Date
8
11
BPLACE
Character
12
12
FATH_NAME
Character
32
13
MOTHNAME
Character
33
\Y
,ltl*
Field
Field Name
Type
Width
Dec
14
F_SALARY
Numeric
10
15
FJOB
Character
14
16
NO_BROTHER
Numeric
5
17
DATE_SEC
Numeric
5
18
HOBBIES
Character
38
19
N_RELATIVE
Character
35
20
NOTES
Memo
10
( Assistant) juOJU ^b* &J> ^ Uj ^^AJI dLL. .LjljI j^
: UiaJI - tji A" &> JUI j^l *<& Ji> &■ J .^U^l Jr- Lf
INDEX ON UPPER( name ) TO Name
.(Name.ndx ) ,^-rfiJI Ulil .UjI Jl j*1\ 0* ^j^
.-^ Jj^ Jl ^-^iJI ^ .Ljtfl Ji^uJ L* ( UPPER ) UIJI f ljLic-l ^
ixtte vJL. ,J l^lSLi ^ >JI J^* ^-^1 J>b .L-.VI JSLi ju»j3 Jl U* ^j^
•J*. L-j ^Uj'yi pi-. US' i_j>tll ^1 Jl J^JI i*^, Jl jijj IJub, .obLJI
jl ^-iUI £jJl» jCj |»^j aj ^UJI u^j^iil utLoj oULJI ixtlj <JL* .Lijj juuj
OliLJI AJLC.V3 J-JU3 J.JLJLL-1I iljj lilj .^li^l (^L-w L£ 5-U^JI J*i ,yo LfSAil
i3i/k ,>«■ liUi *Xjj .obLJI IjlcIj ,y JjJjO »/tf l*«3 ^-j^ill tiujbo *Ij ^^> obLJI
: JUI ^Nl Li*
USE Cadets INDEX Name
,^-^iJI oLU, ( Cadets.dbf ) oULJI »jLtL5 aJU £j3 Jl jaj_, li*,
.cjjJI ^J; ^i ( Name.ndx )
M
Ji io^l i_AL-i J iu[ i - v
^ ^jl^j^JLI ^-kL-j j^> ( Screen ) JU-al liLi ^....ii Jl g^L^JI ^U»«
0-t JU-aVI JLiLi .LUI (> SL : y .oUl-JI IjlaIj ulL. Jl oUL^JI JUol l^u>
ilkJ^ Ujl.1 UjLiJl ,>£-,. Li" -£Ul>VI Jr- ^ ( Assistant ) ju-ULI ^1^3 j^
i*w>jil JUiVI JLiLi «LijJ L* jn^ii** liUJ-lj " I lli JL^j.^.m j_« (o) *Jj
.( Cadets.fmt ) *~J iilill J* ^UJI .Jill ji .ji^j ( Y - V ) jsliu
j-j^Jfcll *l &l[ 6 - V
^ ji Utif ( Assistant ) jlcLJI g-lJjj ^5lj5 Jirt &c jjyfcJI . Lul .^SUj
L^a j-. ^1 ^I^UI .^fa ^UJI ^j .( CREATE REPORT ) ^i\ &J,
jjytJI .Liil jl Zli>}L» £j> .dc\A> vjjiiall jjytJI j£s JbJbw LfSjJ? ^ ^ ^Ij
.LniJ jllc liDi juu oULJI ^kj J> lflljJ»ij J>H»JI *i» *3l>-j ji^d' ^ UjLftl
«Jj~>j .JCjLxS" *X; ^y £-°^ Jir'' i>£ ilUij vi/**J' p * — ^ <£>*' 4-^/J? tiHifrj
J* Jj-4^JI £y.P (ji »j£^ *Oj-* i>*»w L*j^ jtA^^ ' Lwl ^ il^JaJI fci* . l^T,„'i
.iillidl JL-tjill ^"IjJI i»«lji JLLfr A>j-i «^i IIaj -jJ/tJI J^Li ,y *£?tljlj JLiLUI
jwbjJI (---S'jS i - v
J-SLiJI mij ZJUJI »JUb ^j ^11 ( - ) _»j ff-al^J »JLc J^ iJjZpij >Ub |t ■...,. ,a.~ JLLfr
«-o uj,,!]*-* j*i jjlj j3 «iUi ji £«j .g-iljJI »If) ( Hierarchical Structure ) ^^fll
p-j J^ iyuJI Lib J-SuS/l ,>« *Jp g*\jJ\ c>* ^-^1 J^ i^j^^ *fr c 1 ^ 1 '-a*
( Called Program ) $\*xlJ fjj jXS\ g-lijJIj ( Calling Program ) *lzxiJil>
■ .( -\ - -V )■ JS^JI >i
^o
.IfclH
Cadets. prg
l- Adding new daia
2- Printing reports
3- Making changes
4- Deleting records
5- Exiting
I
Cadets.prg
Making changes
Cadrep.prg
Print reports
Caddel.prg
Delete records
]
X
rep.prg
Creare reports
labei.prg
Create labels
{ 1 - V ) J£i
^U^JI ji Uwi j-ii. Lf .&jw £-lJ* L*Jujl, U31-M •!• ,>• UJ», Ji'j
^L Jx. Jl^ oli JLJLy f ^JI i-5 J* t*; ^JJI £^1 j* ( Cadets.prg )
J+-J ;l*> g-ijj J*> c* i*Juuj ^ ;^ju* asi^, Jl f U*Ji p-a U-*j
Ji - jUslj ji^Jtfj f ...Hi J4-JI 0- cr* ^ -'-^ ^ ^ ^ f 1 ^ 1 i^*^ 3
^ ^ 4J^ yi £~JI g-I^JI -kl*^ J^ >j- »iUi jl ^ •»■»» t>* js*-" £-^
^ JjiJU ~b^JI J.JUO fJ JL ^ I4L.JL-3 JL^ ^1 UjM jl L4II 4*w UWI
.4^1) *JL* JUL>
*i
a-**j» $*>*&
c ^lui ji=aii
ty^iji g«Uu*jr
^v
a-*J.*» s^-h"
( Cadets ) 2LUJL ^UJI ^Jl £-l^JI yi, .( PSEUDOCODE ) ol^JJI u*
.( Environment ) g-l^l i^ jh-* 3
-Lai I ^jfill *_iL»j oULJI iJLfrlj «_«La jtXJ
sijJI 3«5li)l ^jJ iyljSo iil> .LiJl
.iiLiJI
ll«a
^vir i~-?j\ **5Uji ^^
-\
-Y
-r
-i
-o
-ADD NEU NAMES AND ADDRESSES
2-PRINT REPORTS OR LABLES
3-MftKE CHANGES
4-DELETE NAMES AND ADDRESSES
5-CHANGE COLOR
6-EXIT
HI LIGHT OPTION BV USING t OX 1 AND PRESS4 1
OR PRESS APPROPRIATE MENU NUMBER
( \ - A ) J£i
.( Exit ) £j>JI jUSl f jlc iJl> ^i Z....,.:^! JuStiJI ^^ SaW
.( Exit ) £j>JI jUi-l ill> ^i SliUI i^^ Jl £j>J\
-1
-V
-A
^l^JI ^LT ^ (PSEUDOCODE) LJjVl ol>»JI Llif ,>» .Ipflfl juu,
^
4-hMj" £*U>J«
*****************
Cadets Information System
Cadets.prg
*****************
* Set up initial parameters
SET TALK OFF
SET STATUS OFF
SET DEFAULT TO C
* open the database and index files
USE CADETS INDEX Name
* Begin loop for main menu
choice =
DO WHILE choice <> 5
CLEAR
TEXT
Cadets Information System
1 - • Add new names and addresses
2 - Print Reports
3 - Make changes
4 - Delete names and addresses
5 - Exit
ENDTEXT
* Get users choice
@ 16,20 SAY "Enter choice: " GET choice Picture "9" RANGE 1,5
READ
* Branch to appropriate task orprogram.
DO CASE
CASE choice = 1
SET FORMAT TO Cadets
APPEND
CLOSE FORMAT
CASE choice = 2
DO cadrep
CASE choice = 3
DO Cadedit
CASE choice = 4
DO Caddel
ENDCASE
ENDDO (while choice <>5)
* Returning to the dot prompt
SET TALK ON
SET STATUS ON
RETURN
^.Vl ^ .iiUJI Jx J-iidl ol>> j^ t~; ^ill ( SET TALK OFF ) ^.Vl
JLiLJI JiJ &> ( Status Bar ) UUJI ij~t jt-^ e;JJI ( SET STATUS OFF )
uJLJI ^JJ\ J*^ ^ill ( SET DEFAULT TO C ) ^.Vl ^ .g-t^l JuiJ -U3?
^Li^JI jlT lil j-Vl I!* ^^js c ^ iJ .( Default Drive ) (,jSclA\ ^ytfl **
._*-> ( B ) .-vJl jl ( A ) .J^JL ( C ) JpJI JIV-L j^r- ,^V J-c- !*>>>-
.i>UJI
^^1 tiUj (Cadets.dbf) obLJI »jl*15 oiL. ^ g-«bjJI a-, ^lill «j»JIj
.( Name.ndx ) *i ^lAl
\-\
4-*->jH £*bjJI
f jic^JI v^SL, ,^> ULto ^ yj| ijjI^SuJl HUH .Lug fJ i, OJUI .^Jlj
i^Uil J*,* "^J&}\ UWI a* J*i ^ ^ .^.b^JI ^ £J >U ( 5 ) fij\
j>-JI £-» L^ ( ENDTEXT ) ^% ( TEXT ) ^Vlj .g-l^JU iL^JI
JLJtfl .jlktlj ( choice ) ;>IJlII ^j^ .Li;| J^&dl UUJI iLL, ^i Ji* 1 ^
^ill ( choice ) ^-JUll <y -t^Jwj f ju^iJil jUsl JUt-L f >L; pLJI .>*Jlj
f hiw-l Jm-X L* .( @, SAY, GET, READ ) ^.IjVl r U*aJ Ji>^L, ..jUjI j~-
^j ilji*i Jli.il J* f J^^ 1 jf*» ^* ( 9 ) fjjl f UsaJj .( Picture "9" ) fjL*
C*j JM J* f Jti«^-ll .*~ IJ*j .( RANGE 1,5 ) IjLx f UJwJ Ji**, Li 1 .o Jv >
.g-lijJI ALi ^.>T ^ J ji (5,1) i-
iUsI J^ f-LJ^JI jLtL-j ^ill ( DO CASE ) ^ti\ f jL^~, ^UJI .j^JIj
jtlij g-olj^JI oP ( 1 ) |»V j.J^L-11 jlliw L.JLLCJ ..l.V: .11 jUSl Jx »LJ jljjUl
SET FORMAT TO Cadets
juuj .( APPEND ) ^.Vl Jj^ ^ jujl> Jj«~ liU»L f jljc-JJ 2*.- l-T
^.Vl j,j> ir* JLi-iVI iLiLi OJL. j!)UI ^ J^JI IJL* JU.il ,>- .L^?l
.^>f V iL-^JI JuiUJI jtks iJUJI Ji* ^j .( CLOSE FORMAT )
.3L»> J^i g-U JI gysll J! jaj3 ( 2, 3, 4 ) ^>Vl oljLS^b
*
pi ^ill a^ljfcll iiUJI U«; ^.Ijl JSLi, g-Lj^JI ,>* ^Vlj ^jUI .j^Ij
( Comment ) jJLrf XiU»l M& .( 5 ) jU^U f jiaJll jUSl ZJU ^i UUs
jJL*3 tf l jV dUij Lj,l>sll UUJI Ujtj g-a^ ( ENDDO ) jJl\ Jj*
Ji jiySi ( ENDIF ) jJi\ ji ( ENDDO ) j-Vl juu *iUI ^ ( Comment )
« ili-Lci* SjjIjSo oU1> »JLft a,>j JUft JL»U. LLa; IjlJU oj£i '-i*J 'g^^W "^i*^
.( DO WHILE ) J gp ( ENDDO ) ^ i ( Comment ) j-UJI p^ji
*"*->.»* fcA*"
U Jl y-UJI A-rf JukJ jd\ y>\/i\ f L*=J iylj&JI iiUll .LfSl JUO ib-X ^
: *JUI ^IjVl ^j -£-M JJ *-U cjIT
SET TALK ON
SET STATUS ON
RETURN
aIu*^.
a,— Jl JJJtfj I...^! X-JSUJI JLili ,y ^^k; ^zll o")LkLjl jl Jl »jUVI jJUkj
^ni.iT.JI g-«lijJI £>& t» ; ....-Jj .( Routine ) ^l* „*> g-*^ **lJ»l yiks d^ndl
\-r
jjjUnUgAijf
g^ibJI Jjaill
jdjiur j^i-j-
\-0
^jUaJI^-b*
^Jd\ fZj ^JLII ( Cadrep.prg ) g^li^l >» j^UJI g-oU^ op ^Lo/jM £w, Li"
£-1^1 Ioaj .( 2 ) ,Jj jL^-^U f J^i-il jL^-l iJU ^ tr-^^ 1 £-^l o- *J!
Jj; ^JLJI ^^ c-oiixll jUT lil U* Jl>- jfr, U .*~~JJI i*iUJI JJ ^J\
( PSEUDOCODE ) ZJ/sfl cljJi^JI ^^jS ^ .JuyLkll Jjt &U, J i^LJI
j?i\£ i_»jJLkll jjJCl\ 9y Lili JojC-j LiLiJI ^wt - \
[
SELECT A REPORT CHOICE
1
1 - REPORT
2 - LftBElS
3 - RETURN TO lift IN MENU
ENTER YOUR CH0ICE<l-3) 3
( \ - ^ ) jsLi
.JLilS t^a *»....SJI JLiUJI JI p>> JI *Xj fjj Ji jL^>' pJ* aJU ,y
jf jjytJI ^i oULJI »JL_cl5 CjUL-j £**» ^jt «_j JJail o^ 'M ^** Jlj— JI
•^jfj^j ot?"-* J***« (>*■ ( Query ) &mJI
.-llc iImJI i_i Jiall *-/yi £x. .jiniJll Jlj-. *l» ( Query ) tt^JI jl~>l Ju£
.i^jjJLLLI J-H...II ,jx- i^o«JI «Ij
.I^uiVI ^^-ij J* (/y^u ^jlll O^Lk*JI AJLC- j-a> <t^
>JL»bLJI <4^J *^J i_jjiill |»— '"VI J-fc ijy^-i J-**** i$l J-£ JJ— JI f-*-* *-"-»■ tj*
J*, oMkoJI tJu>> j^jX- w *-- "V' cH^ lM iA**** 3 ££k*u* •■** i>>j *JL> tx*
.Jj»<-JI j^Sj Jj^W o^ L*ji>I jl~»"if .j£vlJJ
.ioUiJI Js. tSx\J* r ? iiLJI J* jjjsi\ jajc o Jldl jl^ lil Ufi Jlj ti ^
.jjy&JI icU? *Xj
.( Rep.prg ) £*k>j> JI gjisll ^ ( Report ) yjb jLsH jul©
- Y
- r
- i
- o
- '\
- V
- A
- \
-\-
-\\
>-Y
.( Label.prg ) ^ ji tv *j| ^ ( Label ) r ^^ y ja jLs.1 ju* -\ r
jjJc-j c ^> X-iLiJI J* jjydl ^jx. yi> ^j ( Pause ) L3>. iaLiJI olij -\r
•IjJli »^ i^-sJjJI i^UJI JI iayJI -U
g^U^JI Lb* ^ ( PSEUDOCODE ) lJji\ djWt U* ^ .Lp?l *«
***********(^ ac j re p p r g
* - - Reports program for Cadets Information system.
* Clear screen and ask about report type
CLEAR
TEXT
Select a report type
1 - Report
2- Label
3 - Return to main menu
ENDTEXT
* Initialize variable and ask for report type.
repchoice =
@15,20 SAY "Enter your choice (1-3)" GET repchoice ;
PICTURE "9" RANGE 1,3
READ
* If return chosen, return to main menu.
IF repchoice = 3 .
RETURN
ENDIF
* Ask about query.
CLEAR
qchoice = "A"
@ 10,16 SAY "Do you want (A)ll records.or a (Q)uery? M ;
GET qchoice PICTURE "!"
READ
* - making Query if requested
IF qchoice = "Q"
SET EXACT OFF
qname = SPACE(8)
@ 16,16 SAY "Enter name to display" GET qname
READ
qname = UPPER(TRIM(qname))
SEEK qname
recnumb = RECNO0
COUNT WHILE UPPER(name) = qname TO howmany
* IF the name is not found, warn the user
IF howmany =
@ 19, 15 SAY "There is no & qname"
?CHR(7)
WAIT "Press any key to return to main menu"
RETURN
ENDIF(howmany = 0)
* IF there is more than one record having the
* same name , they are displayed to the user .
IF howmany > 1
CLEAR
GO TOP
SEEK qname
DISPLAY name, class WHILE UPPER(name) = qname
\S
@ ROWO+2,15 SAY "which one do you want";
GET recnumb
READ
GOTO recnumb
ELSE
SET FILTER TO UPPER(name) = qname
ENDIF(howmany > 1)
ENDIF(qchoice = Q)
* _. Ask about printer
toprint = "N"
CLEAR
@ 10,5 SAY "Send records to printer? Y/N" GET toprint PICTURE "!'
READ
* Displaying the report
IF toprint = "Y"
SET DEVICE TO PRINT
ELSE
SET DEVICE TO SCREEN
ENDIF
DO CASE
CASE repchoice = 1
DO rep
CASE repchoice = 2
DO label
ENDCASE
* _ _ if printer was not selected .pause
* before returning to menu
IF toprint < > "Y"
@ 24,1 CLEAR
WAIT "press any key to return to menu ..."
ENDIF
* When report is done, close filter,
* and return to main menu
SET FILTER TO
RETURN
;>|jjl ^ii. ,LliL ^UJI .>*JI fJ i ^ .o^idl ^ytfl £P oIjLjSI 3-JL5
^ ,*i .( numeric ) Lajl* j-aiII Jj»*w Li*j juj >-» S-Jtfl ckl^j ( repchoice )
j_jdll ^ juy^ij ljjJLII jL-si-VI JU-aV ( prompt ) f JLkx— U UL-, ^a.^
JU-iJ Jj f jLiti-Jll jL>7 ( PICTURED" ) ij^-dl f L*s-l ^ ( repchoice )
£~*u AJl> 3 l ^ tfJJI f l5^l ^ju. jlu*J ( RANGE 1,3 ) tfjll f J~i--: LS* .^IjloI
: SJLJI jjkJI J* ^j^ ..*JI IJt»j ( V ) ^ jl&V
* Initialize variable and ask for report type
repchoice =
15,20 SAY "Enter your choice (1-3)" ;
GET rephoice PICTURE "9" RANGE 1,3
READ
.JUI >JI ^i ^1 Ltf JLSiJj >-JI Jul*; yi
: JLJLJI jjix-JI Jx. jij^j jj»j .( 3 ) i^tl ..i^Tu.tl
IF repchoice = 3
RETURN
ENDIF
_ r j«ill ^i ^Aiii-il jL=>l chj* 2 f-a "°^^ri i/'-r^J i>?«^ J-*-" 0-* «i**-" -^w
: IJLII j^kJI ^a jj&i . j*JI IJ*j ( qchoice )
qchoice = "A"
@ 10,16 SAY "Do you want (A)ll records.or a(Q)uery?" ;
GET qchoice PICTURE "!"
READ
^ ' tjs S <jjj> J[ f-VI li» J-^J rij •( qname ) j-cll ^3 p-VI li» ^^o
.( TRIM ) "XJLJI &J> &* ; ^'>" ^UU £— ri ^ •( UPPER ) JJUI &J,
.fjii &> j£\ ji j>Ij uij> ji>ii f j^~ ii ^a
*J[ J^ 1 re ^ JJI J^ 1 1* <*>"" r 3 ( SEEK ) ^" 73 ^ J * 1 ^ r°
jt'f-^l li* ^ «*Ui3 u^ 1 c^Lp-JI iJLfr j-^> (^ ,J (recnumb ) ^1 J>
.( howmany ) j-jsll <y *-uJI IJ* o^j J M r* <^' (J -^ Ji
j^JI j! r -^l ,>* ^Ull ^ ^ ( SET EXACT OFF ) jt\ f ^-y
Jjl <> ^x^ >stj J^tJ'^^j^i name ) H" J*» c«u' Jl H r* **"
^ ( Default ) <^jl-1I £->>Jl o> ct-j • i ^ 1 **■>-* ^^ H? 1
«« f> J iA ii y»- fi-W ^ ^ ^ ** *! ( SET EXACT OFF)
: SJUI jjkJI &> .jnll U* aAy
IF qchoice = "Q"
SET EXACT OFF
qname = SPACE(8)
@ 16,16 SAY "Enter name to display" GET qname
READ
qname = UPPER(TRIM(qname))
SEEK qname
recnumb = RECNOQ
ur
COUNT WHILE UPPER(name) = qname TO howmany
fS .juj^JI ^^ J-iiJ CHR(7) UIjJI r ljLJwL-l JlOL LJ" .JLi^JI XLJLJI J>k
: JLJUI jjk-JI Jx- .j*JI li* tJjiKj,
IF howmany =
@ 19,15 SAY "There is no & qname"
? CHR (7)
WAIT "Press any key to return to main menu"
RETURN
ENDIF(howmany = 0)
j^iis jj\ .l-Vl ^uji ^oji j-mJIj ^71 oul, ^^u f >u c ui «^ij
p-rtL ^UJI Jjk-JI (Jij jL^-L f jLii-JI f> iL ^ kjjILH Ojljl ji ^Vl ^
( COUNT ) ^l f IjJwJ S^ja 4/0 j3 OjC ( Record Pointer ) o">U-JI j,^>
uiUI Jjl JI ^ijll dL^j Vjl fi, J^iJI ji^ J^, Jji JI 2L;l5 ^ *3iUJ il^
r>LL, ^^ ^ ,J .aUI Jji ,>- i«Jl Lu. ^a. ( GO TOP ) ^1 Ji> ^
^ill J^JI pi, ^ f j^l-JJ Jl>, ^Lj .(DISPLAY) jti\ &J> ^ o^U-JI
pi- fi .( recnumb ) ^idl ^ ^J\ U* ^^ ^ ^1 ^ ^LL, ^^ jL,
iUJ Wjui-,1 J^-JI ljub JI ^UJJI
bjte ( howmany ) ^Aill $ ^i J^UI jiu jb-lj J*~ J* j^iJI UL> .^i,
j^hi f L*iJ ^ ( howmany>l ) .bj-iJI jio ^ju. LIU ^ JI ( ^ )
jl^ 1 J-* J>^e 0*Jl'K*j .-t^l jJi~ tfUl J^-JI J^ J^^t^U (Filter)
: UUI
IF howmany > 1
CLEAR
\>r
GO TOP
SEEKqname
DISPLAY name, class WHILE UPPER(name) = qname
@ ROWO+2,15 SAY "which one do you want";
GET recnumb
READ
GOTO recnumb
ELSE
SET FILTER TO UPPER(name) = qname
ENDIF(howmany> 1)
ENDIF(qchoice = Q)
Jx. *&1\ II* cjy^j, .( toprint ) j~icU J* f x^aJA U>\ ^jte ^ .isUJI
: SJUI jjkJI
toprint = "N"
CLEAR
@ 10,5 SAY "Send records to printer? Y/N" GET toprint PICTURE "!*
READ
J.J&LJI jLi>l v— > iiuLkll J iiUJI Jl jj/fcJI *-»■>; Jl ^ijj g-*WI «J»Jlj
IM, i«UJI Jl *^.j3 ^ ( Y ) j\~>t\ U» jtf lili .( toprint) J Jd\ J W
OjSo UjLLft ( rep.prg ) g-»t^JI jl-Ljs ^ ,*5 .JLiLJI Jl *+&£ ^ ulli ^-i oli"
( label.prg ) g-ob^JI Juia ^ U .( 1 ) ^1 J* Lp« ( repchoice ) jJcX\
J-t ^^i»w «j*JI I!*, .( 2 ) (JjJI J* Ljyi»w. ( repchoice ) jJcU && L.jux.
: IJUI j>-JI
IF toprint = "Y n
SET DEVICE TO PRINT
ELSE
SET DEVICE TO SCREEN
\U
ENDIF
DOCASE
CASE rcpchoice = 1
DO rep
CASE repchoice = 2
DO label
ENDCASE
j± ( Pause ) L5>. JLiUJI J* ^£JI ^Uj ^L5- 3- ^ ^Ul .>*Jlj
jjjUlll iUiLS Jl £>>JJ ^LLLo tfl J* JuU2u p jjyCJI OliLv "u\J» jJ^i-JI j-ku-j
: JJUI jjk-JI Jx «J»JI IJ* iSy^a •S-515 «Lr«
IF toprint < > "Y"
@ 24,1 CLEAR
WAIT "Press any key to return to menu"
ENDIF
Jl Jiill j>hu j± ( Filter ) ^ijll ,3*M jlTjU ,>- ^ j-i* ^iUJI .>jJIj
.( RETURN ) jJH\ r IJ^-L l~~*J\ i^UJI Jl ^>JI ^ p J,Vl aJU
( rep ) £.1 — i^JI
N - \
^i ( Assistant ) JLtLil g-^l^ pjlp pLioJ && "^M f^ '■*■* ^^ ^i
JJi, .( EOF ) alii o^*w-, ijl^i ^ UjI^j ^ 3i,l>J iil> Ji»la ( @...SAY )
DO WHILE .NOT. EOFO
CLEAR
@ 2, 2 SAY "Cadet name:"
@ 2,37 SAY NAME
@ 3, 2 SAY "CLASS :"
Wo
@ 3,38 SAY CLASS
@ 4, 2 SAY "ADDRESS :"
@ 4,38 SAY ADDRESS
@ 5, 2 SAY "Secondary school average :"
@ 5,38 SAY SEC_SCHOOL
@ 6, 2 SAY "Date of entering the institute :
@ 6,38 SAY DTENT
@ 7, 2 SAY "Telephone no:"
@ 7,38 SAY T_NO
@ 8, 2 SAY "Blood Type:"
@ 8,32 SAY BLOOD
@ 9, 2 SAY "Religion :"
@ 9,38 SAY RELIGION
@ 10, 2 SAY "Nationality :"
@ 10,38 SAY NATION
@ 11, 2 SAY "Birth Date:"
@ 11,38 SAY BDATE
@ 12, 2 SAY "Birth place:"
@ 12,38 SAY BPLACE
@ 13, 2 SAY "Father name:"
@ 13,38 SAY FATH_NAME
@ 14, 2 SAY "Mother name:"
@ 14,38 SAY MOTH-NAME
@ 15, 2 SAY "Father salary:"
@ 15,38 SAY F_S ALARY
@ 16, 2 SAY "Father Job:"
@ 16,38 SAY FJOB
@ 17, 2 SAY "Number of brothers :"
@ 17,38 SAY NO_BROTHER
@ 18, 2 SAY "Date of getting Sec-School:"
© 18,38 SAY DATESEC
@ 19, 2 SAY. "Hobbies"'
@ 19,38 SAY HOBBIES
@ 20, 2 SAY "Nearest relatives"
@ 20,38 SAY N_RELATIVE
WAIT "Press any key to continue"
CLEAR
@ 1,40 SAY "Notes"
DISPLAY OFF NOTES
* Ask the user if he want to stop displaying
KEYPRESS =
@ 22,12 SAY "Press any key to continue or (Q) to stop"
DO WHILE KEYPRESS =0
KEYPRESS = INKEYO
ENDDO(KEYPRESS)
IF KEYPRESS = 113 OR. KEYPRESS = 81
CLEAR
RETURN
ENDIF
SKIP
ENDDO(while not EOF)
j,\X\ JlJ\j .( String ) Li^. "*L±S ^1 "^ re ^^ -J^ 1 IJL * r*i •J*-'*
Ji ^=11 ( X,Y ) oLJlbOfl ^ ^^ IS .JfcJI li» oL^*-. ^^ Aik-I* ^
iiLlII Jx. j>Ij >-. Jx Lfi»j* re J-**-" "^P*-^ J-*^ 1 r*i ^ ( @ ^ <J - , * JI
( Y - *\ ) JSLUL x^*jll UUI j^a JLiUJI J* $-*-■ J*»- u*j* -^ ^^
jc— j aJij .'AS-... . L4L4 J> ( Notes ) ol£>}UI Ji> ^^ Uuf ,h*.}L L£
^^u fJ i (KEYPRESS ) jjall .Liijj Iju. ^JJI g-Ls^JI ,>- ^Ul «3*Jlj
MjUaM^b^
■*iji
rfiil C LU1L i*UJ| Sj LU| jLs.1 ^ ( INKEYO ) SIUH f b*U Jfe.^
ju li* oP ( 113 ) J ( 81 ) tfjLj ;> LU| ^ ^tf ISJi >fXkUil| ^
^ UUJI J* ^ .^^l J^ (q) C l^ J (Q) C UL. > lij, as rJ ^Lll
la* li >l c Ui- rf i J* J** lil ui .^itJi i^u jj s^jj ^u^j, ^ £j>J|
: JUI J^JI oUU ^ Jl ^
CADET NO
NAME
CLASS
DATE OF ENTERING AIR ACADEMY
BLOOD CLASS
6960
MOHAMED ALY SALEM
55P
09/01/85
A
13 -ABBAS ELAKKAD
2603556
MUSUM
EGYPTIAN
ADDRESS
TELEPHONE NO
REUGION
NATIONALITY
HOBBIES
FOOTBALL
BIRTH DATE
01/22/67
BIRTH PLACE
TANTA
SECONDARY SCHOOL AVERAGE
70.00
DATE OF GETTING SECONDARY SCHOOL
1985
FATHER NAME
ALYSALEM
MOTHER NAME
FATMA MAHMOUD
FATHER SALARY
600
NOMBER OF BROTHERS
5 1
( Y - ^ ) JSLi
(label) gJ ijJI y - *
Jt*Ull g-l;^ f lj^Lj ^a Vjb S^iJI ^UJI p^alJ g-.bjJI II* h& ^
ZjUC ^So Jj- dJUj jl*.^ jjLJI ( rep ) g-l>JI J3U, jjy .( Assistant )
* label.prg
\\A
* Program for making labels
R = 2
GO TOP
DO WHILE .NOT. EOFO
@R,2 SAYCADET_NO
@R+1,2 SAY NAME
@ R+2,2 SAY SEC_SCHOOL
@ R+3,2 SAY ADDRESS
@ 17,2 SAY "Press any key to continue or + ;
"(Q) to stop"
KEYPRESS =
DO WHILE KEYPRESS =
KEYPRESS = INKEYO
ENDDO(KEYPRESS)
IF KEYPRESS = 113 .OK. KEYPRESS = 81
RETURN
ENDIF
CLEAR
SKIP
?
ENDDO
RETURN
m
erf*** 3 " ^Ah
^Ldl J^UI
iir ^u.jd
\r \
: jfiX ( PSEUDOCODE ) JLJjVl ol>iJI LbT V,i
.Aifc &nJI v-Jjlilll (J^nJI ji fJi\ $£. Jlj-JI »Ij -
•X~«-jJI JuiUIl JI ^>>JI ^ ^1 j? JU-il f J* 2JU ,y -
•tf^ *■&* J 31 -* cr* l*^ - ^jj* J! r-5" Ji** ri -
.i_»jlkll j»-,"yi ^x- £*iJI *lj -
.miVI ,_^ij Jx \JjZ*3 (_^JI O^Lk- JI JAX i_iL»> *Xj -
,_^9- fJ&xJLI j*ip£ (►!» jt-.'VI II* Jx <,£j^w J«-« ^1 Jx' ji^i*)! »Jx ilU ,y -
•>T LJ JijL;
Jx o*)L>bJI »i* ^jX pju »— VI ^^Jj Jx c?>jO c£L>w Hjlx i>>j Ul> ^ - A
J~- ^1 JUoVI iiLi Jx ajliL, ^^x ^ v>^l J*-JI Jl Jj-^>fl JLLx - ^
.Aj^ltill JybJI Jjjw jm i*--JJI JuiUJI JJ »*>JI ^ -\ •
******* Cadedit.prg
* Lookup and edit data in the cadets database
* Set up a loop for editing records
entering = .T.
DO WHILE entering
SET EXACT OFF
GO TOP
* Ask for name of person to lookup
CLEAR
lookup = SPACE(4)
@ 10,12 SAY H Enter name of person to edit"
@ 12,12 SAY "or just press Return to exit" ;
GET lookup
\xr
READ
* If no name entered , skip all
* commands between here and enddo
IF lookup = " "
entering = .F.
LOOP
ENDIF
* convert lookup to uppercase to
* match index file, and trim it
lookup = UPPER (TRIM(lookup))
SEEK lookup
mrecord = RECNOO
* count how many there are
COUNT WHILE UPPER (NAME) = lookup TO howmany
IF howmany =
@ 20,10 SAY "There is no & lookup"
@ 22,10 SAY "press any key to try again"
? CHR(7)
WAIT
mrecord =
ENDIF(howmany = 0)
* if more than one record has that
* name, get more information
IF howmany > 1
CLEAR
mrecord =
SEEK lookup
DISPLAY NAME, CLASS WHILE UPPER(NAME) = lookup
@ ROWQ +3,10 SAY "Edit which record .# ?" GET ;
\U
mrecord PICTURE "9999"
READ
ENDIF
* if there is a record number greater
* r _ than zero, edit the record
IF mrecord >
CLEAR
GOTO mrecord
SET FORMAT TO cadets
READ
CLOSE FORMAT
ENDIF
ENDDO (WHILE enuring)
RETURN
*i)ljSO 2uL> £jj£j |t.l> *5 .ill*lK *~i.Jr>jj pj>\jjJ\ *~<L *la\JjJ\ IJub IJLjj
£-*- l » d ( -T. ) j^j *jIj-J' l** * JU ^ <j' V -* > J •( entering ) IS &A\ ^Jidl J^.
.UJuLj oUlI jl iiUJI JuLj jlj*i-/y ( entering ) ^^liill
entering = .T.
DO WHILE entering
Jj^l ojoJI ^ f Jii£-il Jiju yi. dUij .oj^ ( 4 ) JJ> qj^j jJJI ( lookup )
hjUA\ .Jj^JI JUj? f JL^-JU ULy ^j^ pJL; ^ ..LLC ^uJI LJjJLlI ^1 ,>*
: LJUI jA-JI J^ «J»JI IJ* i^ji~5 .( lookup ) jJd\ ,y Ojj»JI u* ,>^j
VYo
CLEAR
lookup = SPACE(4)
@ 10,12 SAY " Enter name of person to edit"
@ 12,12 SAY "or just press Return to exit" ;
GET lookup
READ
J«^ ZJU J ( entering ) j?ci\ J ( .F. ) **JJI &£* ^ *±JtUI *y*S\ ,yj
Jjl Jl JU=tfl ^ iJUJI J* ^j .u^ ^i LLtf ij» JU-s'JI C UL. Jx. ^AiaJll
^i dj^. ( entering ) ^^juII jl ^ .( LOOP ) ^1 LkJ^ Lyl^l ZiUJI
^j^^jj jj^kn JL-^jJI JuiUII ijXy IjjIjScJI jLSUJI JlJUj *i> }li ( False ) r-f~&
: JJUI jjkJ\ Jx .j*JI Li*
IF lookup = " " .
entering = .F.
LOOP
ENDIF
..^--oJI g-tU^JI J*i- &* ^-^Ul uiL. j^i j*- *i\ *Ji>^- £- .( name ) r y\ Ji>
^ ( Upercase ) i^ ci,^ .UJSfl &*& ^-~ »j^! ^ -»3 uo*^ 1 '■"• J } ^
S^L-JI jl S^SUI ^j^JJ jais-ll JU-al jli eUJJ .1^ o^> Jl LaJ ,0*1-11
J -UJI J{ tsiii ( TRIM ) II Wl r IJ^-.l jl Ui" .Jj^JI u» o* £**" J ssi*
y&A a>lj Jy JU-aI J ^ Li*, . f aiiJll l^Jb ,yJI Jj>hJI j*j oj>j- olil—
: XJLII jt^kJI J* jL^<i •>" l-i*J
lookup = UPPER (TRIM(lookup))
SEEK lookup
mrecord = RECNOQ
\n
o^^-JI j-Aj— -u^^J 4..ri.,^j ( SEEK ) j_»Vl oi i^L- y^y
i^»j oi^ 3 J JUI >-JI 3i> ,>* ^ US' .^jMi J*wJI Jl ( Record Pointer )
J*wJI U* Jl V UUI J*-. ^ JJi, .( mrecord ) i/IJJI ^JU- ^ J^-JI li»
.dUi Jjo
*-.VI J»j-1 Jiwj ^1 O^U-JI AJLC (-jLw* j»i ^-oLj^-JI £-• i^UJI ,J*JI ^j
(^Vl Ji» J*t ^-j^ *-iill J *i->j •( howmany ) j*£±\ J» *juJI Iju» cnj^j
*M *i-> ( FOR ) o- Vju ^.Jl J» ( WHILE ) f L&lJ J-ii. JJJJ ( name )
.( WHILE ) 2LL-L; gj-i «i-*JI 0j£» dJJJ, J»^l J**3 ^1 o"5U-JI ^-^w f yu
.( howmany ) ^,-idl ^ *±£>* ^> iSJJl jjuJI jl~>L g-»ljjJI |.>y dJi juo
lfl>oi ^lll tJj^JL JjL-j J*t- M-Ji^ *j'i Lf^i l-i* Op l/*-* iJL *" 'J-* o^ lip
f j*cuil L^JU-ii ,>JI Jj^JI iltf l«J}U ^ yiJIj IlJLI ilU^I j^ki uUJJj . f aiuLjl
UUI jj> J* ^aiaJll jjJU; ^ US' ( & ) jjS'UI f IjicL-L ( lookup ) ^-*=ll ^
: UUI j>JI J* ^^ .j*JI lo*j .^jJI JJLl: Jl ^ij3 ^1 ( CHR(7) )
IF howmany =
@ 20, 10 SAY "There is no & lookup"
@ 22,10 SAY "press any key to try again"
? CHR(7)
WAIT
mrecord =
ENDIF(howmany = 0)
J»>*JI 6*~ J*- ,>- j^Sl a>*j ^j (i>l *JU i-lji fjj ^iLJI «>*JI ^j
oUL, ja*> joj»j g-«ljjJI j.>b JJUJI u* ^ ( \ ) &* jS\ ( howmany ) a? J\
C^j 1 v/*-^ re ^ -*1jJUj Jbjj ^111 JjuJI j~j«j pjiiiiJLI ^JiTm.j ,_^» o^U-JI *i*
JU*L f yLJ ojJUll J*~JI ^ f j±aA\ Jl>, ^ .o^U-JI .J* iL^UJI o^U-JI
: iJUl jjlx-JI Ja t£P«J .jmJI'U*} .J^-JI IJu» *5j
IF howmany > 1
CLEAR
>rv
mrecord =
SEEK lookup
DISPLAY NAME , CLASS WHILE UPPER(NAME) = lookup
@ ROWO+3, 10 SAY "Edit which record # ?" ;
GET mrecord PICTURE "9999"
READ
ENDIF
I!*, ol* ' j*~" Cr° j^I o^ 'ii* ( mrecord ) jJd.\ jUil ^ gUI . j>JI ^j
( howmany = )Jjil J?^iJI J!A> ,yi Jj«. ZLlUI o}L*-JI ji>i aUJ ,►; c\ j**
LJ..xll XJu^jJI 3JUJI J^U ,>- ji ( howmany > 1 ) ^Ul i»jjJI J>U ,>- ji
.( GOTO ) jJi\ f lj^-U J^-JI I!* JJ V UJJI ,*i. dUJJ ( howmany = 1 ) ^j
S^UJI JU-iVI LiLi ^jt J[ && ^JJI ( Format file ) J-SLUI viL. gi ^ ^
j^Lc-l w ^ L^iLII oXJjcJI JU-al ..i*t.,..II £w Li*, .^pill oULJI Ijlc13 uiL^
IF mrecord >
CLEAR
GOTO mrecord
SET FORMAT TO cadets
READ
CLOSE FORMAT
ENDIF
ENDDO (WHILE entering)
RETURN
\VA
JUlL^JiJI >J*M ^JkijJ
jAjl ^^LJI J±»UI
£«* £*lOd
NV^
: JM o^3 g^li^JI IJL^J ( PSEUDOCODE ) LJ,Vl ol^iJIj
.*j ^UJI J#i H £— • ^jlLlI ^)fl ^ JI>JI ^ - Y
.( Uppercase ) .j-S* ojy- Jl ^1 Jj^ ^ - t
.t_j^LI*ll ^wVI ,>& il*JI j^j -
.*-.VI ^Ju Jx tAp*3 C _^JI 0"5k*~JI iJLfc j~a> w - *\
j^. j.oiaJll jjJbO i^L; (*jyi li* J* ^^>«j J*- J\ Jt j_,i*il j.jx. iJU ^ - V
.>T L-J Ji-ju
.J^<-JI »5j jj^t ,^t Uo>i jLi>V »J?<x~JLI
,y JCUfcj ,>« JlSlxU Sjto S^o .Jbii-JI Jl>* *Ij «_jJJall J^-JI Jl Jj~s_JI Jic - ^
.am_JI Iju^aj
(jill cL&Jll Ju-LnJ ,^o fT!j; ( _ r X> ^J^i-I *Lu>l JLioL . >tt7...»U rL—JI *^j -\\
*l> ( Marked for deletion ) £—11 oU^U LfJLt c/iU— JL* cjli" UU» -^V
• L^J-c- oLOLt »-2>j *j (_yXJI o^Ui^JI obL> ^j^- (*~! ~
Lib L>t— o L^lS" O^Lm—JI ftlfc n-^a ^ .JLkl-il i^ij ( y-a JL^UJI *JL<
.( Permanently )
Jl>l »iUx<-V JLayil ajliaxl w O^Lw-JI »I» jiuu pl>jX~>l ,JJxl-JI jljl lil
.Cj'^Lk— Jl tl»
tJUb T^a *Jj Z^3LJI £j%*~J\ «-^o ,_yj 4.1.JJ ^_a .JL^tI-J.1 JL^LLt LaJLLA
.( Permanently ) Ljb U— • o"iU-JI
.(^j^-l o%h— u iJLjJI jljSo ^SLj ^^s- j^ftill ?t-J.L i^>UJI JLJUJI ijjO - M
J^JI i-Jlill Jl jya.jJI ^ .l^VI JUo - U
\r>
-silbwufl £ms frAl^t
f yL, ^JJI g-UjJI UsS ^j ( PSEUDOCODE ) U^l ol > tiJI LL* juu
JM
* Set up loop for deleting records .
entering = .T.
DO WHILE entering
* Ask for name of person to lookup
CLEAR
lookup = SPACE(4)
@ 10,12 SAY "Enter name of person to delete"
@ 12, 12 SAY "or just press return to exit"
GET lookup
READ
* If no name entered , skip all
* commands between here and Enddo
IF lookup = " "
entering = .F.
LOOP
ENDIF Gookup = " ")
* convert lookup to uppercase to match
* - - , - - index file
lookup = UPPER(lookup)
* Try to find requested name, and
* remember record number
SEEK lookup
mrecord = RECNO0
* Count howmany there are
COUNT WHILE UPPER (NAME) = lookup TO howmany
m
* — If no record has that name , warn the user
* to try again
IF howmany =
@ 20,10 SAY "There is no & lookup"
@ 22,10 SAY "press a key to try again"
? CHR(7)
WAIT " "
mrecord =
ENDIF (howmany = 0)
* If more than one record has that name
* display records to the user.
IF homany > 1
CLEAR
mrecord =
SEEK lookup
LIST NAME , CLASS WHILE UPPER(NAME) = lookup
@ ROWO+3,10 SAY "Delete which one?" ;
GET mrecord PICTURE "9999"
READ
ENDIF
* If the value of (mrecord) greater than
* zero double check then delete
IF mrecord >
GOTO mrecord
CLEAR
DISPLAY NAME , CLASS
?
WAIT "Delete this record? (Y/N)" TO answer
* - If answer is yes, mark record for deletion
IF UPPER(answer) = "Y"
DELETE RECORD mrecord
ENDIF(answer)
ENDIF(mrecord > 0)
ENDDO (while entering)
* - Before exiting , verify deletion and pack
COUNT FOR DELETEDO TO nodels
oktopack = "N"
DO WHILE oktopack = "N" .AND. nodels >
CLEAR
? "Records to be deleted .."
?
DISPLAY NAME , CLASS FOR DELETED()
@ 23,1 SAY "Delete all these? (Y/N)" ;
GET oktopack PICTURE " ! "
READ
IF oktopack < > "Y"
* - if not ok to pack , recall a record
delrec =
@ 23,1 SAY "Recall which one ;
GET delrec PICTURE "9999
READ
* - if record number entered and record
* - is indeed deleted, recall it
IF delrec >
GOTO delrec
IF DELETEDO
RECALL RECORD delrec
nodels — nodels -1
\Ti
ENDIF
ENDIF
ELSE
* if ok to pack , pack and show
* the process of packing
SET TALK ON
PACK
SET TALK OFF
ENDIF (oktopack)
ENDDO(oktopack)
RETURN
u>JL jjoUiJI t^nJIj .<*■>». « j i > ^*-° J"* 1 -" t>* *-»*f'l j* p-*^jr" '•** 0"* *-JJ^JI
jj&i-JI j.>u ^ij. -pJi\ Li* ,ji al/Lij ^1 o^l^-JI oULj ,_Jjjx. *3 iijjjill ii»*JI
•J**-JI (*5j Jirt ,>* lfi-« *JU« Jjk-i jLl>L
J-« «.,_^ij ,1 ..1, 7" 7t*JU SJLbCj .Jjk~JI IJL* b.^ liUi JUu xj»\jjj\ {y> i_j>jLL1I ( >SsJj
^l»u £— • JL» -Li? dUi JUu t_i_ll£_> »j ^Uw< £— »J JL3 -JLiiI_il jl i^> tjj.knJI
J-. J^-lj-o »JU. .JLwT.u.U £-1* jl (j^u {J-oUjJI jlj liUllj .IkkJI £jj» frC LjiLa
£*lj^ ^i 4*-^ J*-, 4j| «i^> Aj^i »jUj Jl ^llawV g-«loJI 0-« JjSfl *J»Jlj
.jjjuul A-oUjjj yr^-w.nTll
.J*JI j*j **i— « t— 'jJLLLI Jj*~JI *5j Jl Jj«*»>ll JUu IJLj ^JJI jJi -^-^1 »Jr» fc "j
: JLJUI jjk^JI l£j^#ubj Ijlj ^Ul
* If the value of (mrecord) greater than zero,
* double check then delete
MTo
IF mrecord >
GOTO mrecord
CLEAR
DISPLAY NAME , CLASS
?
WAIT "Delete this record? (Y/N)" TO answer
* - - If answer is yes, mark record for deletion
IF UPPER(answer) = "Y"
DELETE RECORD mrecord
ENDIF(answer)
ENDIF(mrecord > 0)
ENDDO (while entering)
juapg ( WHILE entering ) J/M Jujl^&dl ZiUJI JjU- ^ ^j^oJLI ^Jh: vLi
J)l JLsILj ( _ r I> 4.JL f . Jjw-JI ObL; \j0j£- i*-J »j-° J^" ,_pL> • I4*— • Vj^< Ojkw tJLfr
: LJLJI j|jU...tl ^i ^o2 2jj\JJJ\ iiUJI »Jm>j .c£U~JI
* Before exiting , verify deletion and pack
COUNT FOR DELETEDO TO nodels
oktopack = "N"
DO WfflLE oktopack = "N" .AND. nodels >
CLEAR
? "Records to be deleted .."
?
DISPLAY NAME , CLASS FOR DELETEDO
@ 23,1 SAY "Delete all these? (Y/N)";
\H
GET oktopack PICTURE "!"
READ
IF oktopack < > "Y"
* if not ok to pack , recall a record
delrec =
@ 23,1 SAY "Recall which one (by record#)";
GET delrec PICTURE "9999"
READ
* if record number entered and record is
* indeed deleted, recall it
IF Delrec >
GOTO delrec
IF DELETEDO
RECALL RECORD delrec
nodels = nodels -1
ENDIF
ENDIF
ELSE
* if ok to pack , pack and show
* the process of packing
SET TALK ON
PACK
SET TALK OFF
ENDIF (oktopack)
ENDDO(oktopack)
RETURN
oi &*■%> y~y •( nodels ) jJcH J iJbJI IJl* &J*j ( COUNT ) jAl f ljtki~,L
mtv
•ufcwaM ^u ^ibjj
^tdl .Lu-y i*U JL* c^-J ^i UT ^1 .LUL fJ JL ( COUNT ) ^1
^idl .LUI UL5 A^Xy Lyl^l UUJI 1jl-3 ^ .*-.LasJ J_j ( nodels )
ij>Ij Ija iyljScJI iiLJI j^ L^ j± dUij ( "N" ) 4--JUI oU^li ( oktopack )
J U-»w» o^ U*j ( oktopack = "N" ) jj. JjVl .^^ J* ^,1^1 iiUJI
^j ^ o^L»w JL* ^i ^ LLbj ( nodels > ) ^* ^\jJl i^lj .UjUI
j. f j>i^JI jl »L*- lifi £>JI II* ^ o^U-, JL* ^ ^ lil L.I .IfcU oWU
.JL-Jjll UUII JI ^U^JI 4> ^ iyl/JI IXUJI JLL3 ^V yUll
(_-?! oUL, ^3j IjUiJI ^i 3u,L£iJ| iiUJI Ijlj iU»>til J^i L.JUL*.j
J!*- ^ LJ" .LfcU oL^U ^ ^ ^xJI c^-JU JL^UJI ( CLASS ) oyJIj
aljl- l»li .Ujl>I SaLoJ ju^. r i L^IT o"5U-JI »i* £__ ju^, $* li| f ■>•-•"
IJubj .jfc^ ( IF oktopack < > "Y" ) ^1 ^ iy >jl\ J^tJI p Uo>l liUiJ
oi !]*»■*- £. OiLc-,1 j^ jUI J^JI ^ ^ r JLnz«JJ >T Jl> J>f J» JI ^
l^j fJiio-il Ji-ju L.jllxj .o'jUmJI f l3,i l^j iiLUI Js. l^jjju, ij5j o^U-JI
jjj aJJJ iK-aj .( delrec ) ^-iill ^i ^1 II* ^^ ^ ajaLuJ ^^11*11 J»vJI
II* jLjSI ^ ^ .J^JI II* JI ^ijil JJiiy jjpcj ( IF delrec >0 ) J»^l
*JU LOU ^j f3 J~JI ji J^UU ( DELETEDO ) iJljJI ^J> ^ J^-JI
fi± l»j ( RECALL ) j-«Sfl ^ljiiii-,lj Jj«-JI II* SaLcJ *i ilL»JI »I* ^ .t^A
iJL*JI «I* jjSwj ( \ ) jIjlLu ( nodels ) j-idl ,y ;i>>jll o^bwJI jjlc ^LdJ
o!5l»v* JL* jli" lili .l^n— . « Jbjj "if jjiJI o^UbJI *-*> iiUi-L .ji^Jll .ji ,_^>
iuLiSLj o^Lk^JI a-j*> A....J.J ^UJI Jlj— JI J^ lum >ju>tJlJII j(j 1^,,. « il^ a-jL
Juia JLJLj ( IF oktopack < > "Y" ) i»^iJI js~ f JL* JI ^i^ II*j ( Y )
yH\ f IJLid-.L ^-Jll 2UL* r U;l (^j j-oljVl »I* JjU o-«j .( ELSE ) jl« ^-.IjVl
^Vl f laic-,1 J^5 ( SET TALK ON ) j^i\ f ljiic-,l #3 *;i Ji>^y .( PACK )
gj>yi ^ ^ .jtJLI SJL* f L3l J^ JJIjJI SJU^JI f aiwLJI ^^ J* liUij (PACK)
.( RETURN ) jJi\ f laic-.L ^^^Jl ^-b^JI JJ
NfA
£JU/f *>/(
tjjt-Mf j>
♦ ♦
jl&lJI A^xayl
^wi jjaiii
^uur
m\
,lfclJI -i*»>3
LwL^j Uj>Jl £ilJaJI Ju-i" ^ p^UcJI £~3 ^\ ,JlJI ^j ( Stock Control )
Jl jai jtAJI »Ju» ,jj oLLJI -Ltljj f ljL^i«lj .Uj*ad\ g-iLaJlj ojljJI «.' i-i|,M
£^i oL£JI li* ^ ,^-tjj jJj .i-L*JI »1* J-«. IjiijJI ^j 3-bj^JL. uLiS"
oUL. Jte- ,>* ( Batch Updating ) ^d\ J^jucJI f Lk: ^jiio-j *ji *i^> ^-.IjJI
« jLjJI oU—> £*Ijj— g- ^^" '■** -^Hj (^*i LJ" ( Transaction Files ) Z^^JI
.J-l£i- f Ui; .lii? ^IJI .j*JI ,y j-j^l ( Accounts Receivable)
fLkdl l » #M £ N - NY
will I (^w Lfljl obLJJ oLiLo tJix. « ^...frl JLoLfe Uuaj oj*-^' fLk '. ^"-
Ia^I oL^Sfl ,>* oliL, J^ J-zi, ^^--ijl ciUI IJubj .( Master File ) ,^-^1
yJUl c^J ILJUlj ujL^. Jf j*-, JJ ZiLbVL .JL-aVl «i* i-J" Ji- j>JL UL>
jJUI ^Ij ( Reorder Point ) *J .-JO J^j ( In Order ) . i • «)\ li* ^
obLj ^ .i^ L i jl Uul ^-»j US' .ii\ji^.j *suo ^i;.n\\ \le> « lj— *ii ^JLtl ( Vendor )
.*JI J>-*JI f Jio-il J*. J^-j ^z* o>JI <> <-&-*• J* jl^- cr*
«j>J.I oLJSfl Xj> js. oiiL; j—ii: oliL. ^oi La,? jjUJI -Ui; ^Jkj,
oUU J-ij oliUl »i* j^-Ij .( Transaction Files ) *5>JI oliJL. ^....t, o>dl ,y
JjjJI Sjjjlj |Jjj Z^-S" ^Lj £*JI ^ ,_^«J J?**" »^Lj Ji* ijLLtfSfl ££ jtfj* ^
.( Sales File ) oU-JI .JL. *JUI lie. t ^ -iJ
Jl LflU-if fSJ jA\ IjujlJI .Jli^Vl ,>x. oLiLu , aT_, >I *S> OJU JL>j
.( Newstock File ) jj^ 1
( - \ - \ V ) &JJ\ cr *5!jUI oliUI »Ji* ,>- S5XJI *Ja»X. jSl^,
.jpJI ^j Ji> jjbj ii^UI cLiUI ^ li>i<. ^i» Jlub i J5LUI ^ ^.^L,
*i> ,>fr pi* ^ill ( Key Field ) ^liAll Ji> ,^— j JiJI li*, ( Part number )
.JttiJI oliUI Jb,
MV
/UalN -ijjaja
Master File
Records
Part number
Item name
Amount in stock
Cost
Amount on order
Location in store
Vendor information
F
£
I Sales Transaction
File Records
Partnumber
Quantity Sold
Selling price
Datesbld
Customer name
Clerkiiame :;
*
INewStock Transaction
File Records
Partnumber
Quantity received
Purchase price
Date received
Vendor
( \ - \Y ) J£i
(Key Field) ^Lull Ji* y - \v
»Jui> Ju; ,>£-«j L yZ> oLUil »Ju> j^j dlj^JLo Jji> JjJjO «_ou oLjLj ju-Ijj oliL>
t-illl ,y Jjw JSU ( Unique ) la>^ oj£j oi um JJbJI IJL»j .*?&• &* oliUI
oLilil ^ J^UIj £>Jlj p— ?l ur*^ j-^ <j' v*^ ^ •( Master File ) ^—sSpJI
.«»LUI
C-> ^LzL« JjUS* i-jL^JI *5j .^uw !iLl« JjjJI ^ . ( Unique ) layLL* ji^L.
.j/a^wi ^1 oUL, J^. Jj_^a»JJ ^Ui-5" (Social Security Number ) Lr -»<-iJI
.( Unique ) ijcu> ( Part Number ) «j> p3, *J »> J5" ji
Mi
-*rf»*a
fUUI JJ5lfc-j r - NY
U.JLDI c**J iOLoJIj ijjjAll <oLa.JI <. < ul.7 n i » i >»" .., »l) ^ « ... _ > »uij < ^.,<ftj
»i» jjiJL ^-"' tsj*-j*» j**- JLol ^1 Jl>iJ -ajlcj -jj^l ^ £JLaJI «Jub jl£*,
oilll Jl tiA-«» Ji' i— S" iiLi.lj L^j ^UJI ( Part Number ) *>jJI ^3, j_,jl»w
iJu»uij j>*lL «JL-»""5II UL> j-^-H i*-*" jtU^' cUiJI jJjj 0' V^*"^ xr-^j-"
.UT J^JJI oLU» «LiJL (.ji US' l^JLt c-^, ^ill j^l
l^xjUl oL-^>ll iJAiyCi JijIjJI i_JU«0ll Lulloj Li2jl ?*■■■■_' jl <-->>w U5" .ijjjLUI aJjj
^^-WjJI <JJil ^ t*>>>ll ObLJI i^iJL9w LJI .UaJI .jJU jl y^>u Li" .j>kll ^j
.( New Stock ) jjl^JI o«L.j ( Sales ) oUJll oiL. ,>» ( Master File )
oUlll JyLp- juxm 1 - NY
JUJl^w ,jt> CjLjLJI e-U-13 <_iLo Jji> JUJLmI] IL-fj J-f-l jj^J jL^»'l | ihi"' ,J>
vjUl Jji> jlumJ ^LLJ .LajLuI ^-jjJLLil jjjUiJI ^j «_aJULI Li* j_* Zj^JLLII oU>AI
«Jl* j*-li .«_iUI li* j-« A^JLkll jjjlfcJI oLpw I—Iji *jo ( Master File ) ^ _^"
jjytJI Li* .jj*dl ,_^ «^>>j^l »JLue»Vl ZJl> jl «_i3j^> n-^yj ^JJI jjytJI ,** ^jjliJI
.IjiJI j*-y jjiJI ,ji .J»JI Li* j^i 0>>jll ^LJUIj «J»JI |fc-.|j 0»JI (*5j J* J ■"■*-_>
.cjkJI IJjs j^i >_JLLII c^j ;L*£Jlj jj»JI ^j .j>JI II* jlSL«j
AJiU- j-« pjii ( Reorder Report ) yJUJI SaUl ^^^je; j^— j JA jjjZi JL*,
yJUl coo j^jJj u . ...j >>T f^jjij ii)U* ji Li" .JjjiLlI ljLl^VL i*iL5 ^j-fr
oULfe. JL* ji L5" .LjJLt. ^jLJI oLl-,VL i*;l5 ^jju, ( On Order Report )
.»JUJL> iJL^s.1 cl^-iJ UjIju?L >jiicJI .ji (_^dl ^Ij-iJI
obLJI Jji ( Master File ) t^-^JI «_aJULI J^jLij jl i_^j c»l»>JI »I* j^Jj
: iJUl
Mb
Part number
Item name
Quantity in stock
Purchase price
Reorder point
Quantity on order
Location in warehouse
Vendor name
Vendor address
Date of last update
Date of last order
Quantity to order
p—k ^JL ^Ull ^vaiwJI ^[j ( Invoice Number ) ijpUJI ^ jL-SJIj .>«JI ^j
^j^kj jl vchj ( Sales File ) olxJLI «jL« jii dUJd, .^Jl £yb, gj\ jK~j J— jJI
: I/ifl cbLJI J*
Part number
Invoice number
Salesperson's name
Quantity sold
Selling price
Date sold
Whether posted or not
tiLo jb dJjJ .( Vendor ) «jLJI *— lj jjjjJI j^bj . IjriJI ,>-jj »jl>tl a^JIj
: iLrtl oULJI jl ^^ jl v*« ( New Stock File ) ojl^JI oLu.SH
Part number
Quantity
,l£jj| JLrfn^a
Purchase price
Date received
Vendor name
Whether posted or not
Olildl tJutlS
6 - NY
^UU JLtljj oliLo *£A5 Js. fjj2*t JiUJI ^ jjUJI f Lfeu jli ^Ut^l J-- Li"
>LuJlL ^U Lj.jb.i Zi"j> ,>-iLoj ( Master.dbf ) *— { 1 >£Jj y— -u>II «_oJULI ^j
.(Newstock.dbf) ,^—i, SjjIjJI <JL-»SlL ^U >% (Sales.dbf) tJf *~ i)
( Master File ) (^--SjJI OJll «UjI \ - a -. w
( Assistant) ju.L-11 g-ljjj pjl^j &J> ^c ^^>J\ «_iUI «Lt;l ^l,
: ^tf dUij ( CREATE ) ^1 f L^-L Uj »j^l c^j
CREATE MASTER
( Structure ) v^bLJI 5jlc.L3 dtL> JiL* LiLi j^k; UUJI »1* ^j,
jl Lj-ijJI ^IjjNl iJLCj djbj *s-jjj Jji> Ji* |*J ajI^S" LfJLji' 0^ (^i ij-^'
Field
Field Name
TYPE
WIDTH
DEC
1
PARTNO
Character
5
2
P_NAME
Character
20
3
QTY
Numeric
7
2
4
COST
Numeric
9
2
5
REORDER
Numeric
7
2
6
ONORDER
Numeric
7
2
7
LOCATION
Character
5
8
VENDOR
Character
25
uv
A UalH J^aja
Field
Field Name
TYPE
WIDTH
DEC
9
VENDOR_ADD
Character
25
10
DATE
Date
8
11
ORDERJDATE
Date
8
12
NEW_ORDER
Numeric
7
2
^3, Ji*Jlj •«-»jj»' *— *> ,>» oj&j ^j*- J** >*» ( Part Number ) .>*JI
dir^ Cr* o^i u*J* J*> j*j ( Part Name ) »j*JI ^-1 Ji> j> ( V )
^ijLc J_z* jj.j ( Quantity ) Z— 5JI J-«». jj» { V ) ^j JJ^JIj .13^
CfT^J
\JL|
f l3J
^. Oj^O ^iJlfr Ji> j*j ( Cost ) . Ij-iJI
Ji*jj ( Reorder Point ) vl^' jl> Ji> j* ( o ) ^3, Ji*Jlj •&&£*
Lu.
f Ujl
•>- a
ij&Oj >-«:.all lift yJLU »iLc-l «jllc-
^JJI a*JI
Ji> yb, l^JJ? JL>l*JI *— SJI J*>- j* ( "\ ) ,»Jj JisuJlj -frsiri*- ,5-4;
*— > (y oj£~* l^j*" J-** - >*j ( Location ) j>«ll ^ uLl-JI jl£- Ji>
0^-* <Jj> J-*" >*j ( Vendor ) ^sUI Jjj> ^* ( A ) ^j, Ji»Jlj .o>j>
JJb- jj>j jjUI Cj'j-- 6, J-* 9- j* ( ^ ) p3> JjwJIj -lJ>>- Cftr^j *— •*■ ,>"
>T gjjb Ji» >b ( V- ) ,Jj J*»Jb -liv* Oir*^J *-*»• 0-* i*^ - t^J*
( ^ ) pJj J«*Jb •«-*!>»■ VW 5 0-* <I)J^-° J^^-J** 1 >*J < -*^ *i**»«3
( \ Y ) 1*3, JjlJI_, .( Date of last order ) uL-JU «JJ» >T jj,b Ji> >
,>- ^Ul crtAJI oL^ ^ ( Key Field ) ir ^l\ JJ^JI >* .^Jl
USE Master
INDEX ON Part no TO Master
MA
*UalH -irfnfa
(Sales File) oU-ll uUU *UjI y - o - \y
• Lul j*- US' iL^I J^ m ( Sales.dbf ) oL^Jll «_iU .Liil ^
j^ ji u» ( PartjlO ) .J*JI (Jj Ji> ;>i *i*>^-* v^Ti* xr-^jJ' «JM'
aJJ) .LaLj j^-uJ^JI (Jill JJL* Jjj> <..„■>«■> Jj-^iJ < oJLLI IJL* ,j3 \ijj>j^>
: jft\£ Jill 0^
Field
Field Name
TYPE
WIDTH
DEC
1
PART_NO
Character
5
2
INVOICE_NO
Numeric
6
3
CLERK
Character
12
4
CUSTOMER
Character
12
5
QTY
Numeric
7
2
6
PRICE
Numeric
9
2
7
DATE
Date
8
8
POSTED
Logical
1
(J, JjLwJIj .( Part number ) «j*JI ,*3j JJL* ^ ( \ ) ^ JjuJIj
0-° Cw^-° »i iJl * J 2 * j*j ( Invoice number ) ijpUJI ^j Jfc. j* ( Y )
j^So JL» jt>j p~}\j *jUJI t-itjll *-J Ji> yb ( f ) pjij JJmJIj .*^j' IXm>
jjbj (Customer) J— *JI p-I Ji> >* ( t ) ^»j Jjij-JIj .liy* ( ^Y )
2LJUI £** jj> ( o ) fSj J^JIj -lij* ( W ) &* &£** tAr* J- 2 *
i>*»5jl> c^jl i*- 3 0-* 6j^-» j/iJ-fr Ji> y»j £*JI jiu* Ji> j* ( "\ ) (»5j
i>" ij^-* (j^ 13 cM* >*> C?r" £1^ lM> J-** t V ) fJj lM^I* •Crsir-*
JJ> jAj (Posted ) J^-j^JI Jj> j-* ( A ) jtj, JJtoJIj .oj>>. LjLj
olUI Jl cii-aJI oLjLj J-*^ ^ \SJdJ .xicL^u ( Logical ) ,j.lh;«
\l\
-**»*a
( Dot Prompt ) Jh*J\
USE Sales
INDEX ON Part no TO Sales
Li" UjJaJl ijJoj ( NewStock.dbf ) iijljjl oUl^VI aJL. .Li;l ^
( Part Number ) *±*J\ ^j Jji> i>rj j^^ i^.^, ^ c u^I ^
Field
Field Name
TYPE
WIDTH
DEC
1
PARTJSTO
Character
5
2
QTY
Numeric
7
2
3
COST
Numeric
9
2
4
DATE
Date
8
5
VENDOR
Character
50
6
POSTED
Logical
1
fj, J-**Jlj .( Part number ).j*JI ^J, Ji> jj» { \ ) ^ J^JIj
< 1" fa" . * »l5jl ****» ^ UJ^° Ji-J^ Ji> j*J •ij|>II A~»£JI Ji> jj> ( .V )
l»3j Jji^JIj .<Jjj*- LjLj £-« jj^> -t^jjls. Ji* jj>j >-L u ^JI Jj-*»j ^j,b
&£*• l^j* J-* 3 " j"j Hij^^i r 5 ^*" ( Vendor ) ^Ul ,*J Ji> >* { o )
^^k.. JJ> jjbj J-s-jjJI JJb. jjb ( A ) ^jj JJbJIj .\±j> &-?**■ &>
^^>J\ utlll Jl uAjl^JI obU J^ ^ fS^cii f j^ ( Logical )
u
,tfclH J**,^
.( Dot Prompt ) ibUI
USE Newstock
INDEX ON Part_no TO Newstock
ju-ljj cULo LfL. J£A3 .oUL. li- ,>• o^fl ^ flbJI Oj&L; l-i&»j
.( Index files ) ^a» oliL. j^I XftUI., ( Database files ) oliU
^3 jjy g-^bjJI jji j^jL ^U»j7' i5r-" ^ CiliLJI jlc.1^3 oliU ^-—-^3 Jbu
IjN f UiJ ^ JjVl f lLJI .1$^ U-i *k?j* l+^Jj Zifc— (JiJ jtfAi Jx ijLjl
j>lL ia^-jll oL^bU J*iJI Jjjll ^* T^w O^i tfUlj J*UI J JWI 0j>1I
JjSUj ( Reorder Point ) U^ 1 ■** J[ J- 33 l^ 1 <-» 1 -^ 1 J***«3j ^^ **;l=-»
gsJI iLe ^ .jo^JI ,j&jll Sk-I* IfJU-al pi ySJI c.U-11 a> >* ^sUI r lkJlj
l*j ^ ,>JI ( Newstock ) oL^I ii> yb vSJLJI f LkJIj .( Point of sale )
. L/ aXiJI oii?jll ik-ljj jjiJI Jl fcJjJI <jL-»Vl J~*~I
--'j p-*^ l*J»l p-°ljj i«ol J' *-P-iy ii-aj <■*...■■ W o^-*i p-"^j^' <Jp ^JJ
JL*.y g-.^ Jjtfi fJ i3 j>Vl 130LJI g-UJIj j;>Vl XSADI ^-IjpJI J-JLii fJ i
.{ Y - \r ) JSLiJI ,>. j^; ydlj
jlll ^-olJjJI j-* ( IMenu.prg ) ,^—^^JI ^-l-Jj-JI ji J-SL±JI j-o Ji^^L,
J-* «Uy -^>^l g-U" J-"3 U^ 0- ri l^ 1 ^-sU 1 S- 51 *" J* d^*"
<_Utl J-«-ij t/JUl ( MMenu.prg ) g-olij-JI Jl ^iiil p_i ^jlJoJU jL^I
JJ gjfcJI pi ji .o>ll ^ ia^l JL-til Lulsl ( Master File ) oL^bU 4r - tt s J II
^OSj^. juuUI ( Sales File ) oLu-il ^jJLo JjLij ^111 ( SMenu.prg ) g-olJjJI
ciL. Jiij ^ill ( NMenu.prg ) g-b^l Jl g^jfcJI ^ jl .Lf«-; ^ ,^1 ^JLl^NI
.UjUyS *i ^Jl oli-»Vl tJ5j-« iwld ( Newstock file ) oU*)!!
,UalH -irf±»j3
E
IMenu.prg
1- Manage the Master Inventory
2- Manage Sales Information
3- Manage New Stock Information
4- Exit
MMenmprg
Add New Part Numbers |
PrintReports
Make Changes
Update the Master File
i
SMenu.prg
Record Sales
PrintReports
Make Changes
{ V - U ) j£i
1
NMenu.prg
Record New Items
PrintReports
Make Changes
\or
•»j--j *j*' •»! '"" | £"b>j
Nor
igmt Ijil X_lUUI ^■b >f
i*iUII J^JBtjj fJ JL; ^1 ^«ljjJI >* ( IMenu.prg ) S^-jJI L»:UJI g-^Uy
.^U^VI *j-- US' ii^UJI ,JiJI a*i UJ^i. a- f JLJ^-JI jL±u ^\ *,,..sj\
oIjUj-I i*ll3 ^i»^ft *JiL> ,y« pJj (j—^ij £-*My ii' 0-^ *^j j cj* '-ifc^j'tf jJ»j
*JjVl ^lyaiJI oLtf J-oiL; £-»lJy ^i JubS" J-3 •aLJLS'j .( Menu choices )
S^liS* JJi juy ,>£-, ,^i> g-.UJI -Ua^- Uu^ UJ tf L ( PSEUDOCODE )
.ol>iJI *i* lis ^1 ( DBase ) IliU ^1^ i*L ^.l/fl
( PSEUDOCODE ) iJj^l ol^»J1 a^ N - \r
fZy ( Tdate ) *~-j ^^iib i/li j*jcj> « LuL SJjlJI ,y «j-«-M g-«^#JI f>u
Jl}-, pjbJI IJi* ^y. ^ ^ .jjull IJi* ,> ( DATE() ) JUJI fJ JI gi,b .^
JjJjJj .JLkX-il >jJL o^l>l ill* ^j .^1 ,1 | »JLJI jtjjLJI yb li* ^15" lil .jlJc— II
»-i.lj^ ,y 4*lj&£-l |^- ( T_date ) j-*ill 11* jV h> *-^> »ji»iJI »i*j .^jjUI
X»jUII £«o i-iyJall jLj>"J/l ^S. .JL»w_ll Jlj— j p-ob^JI >jJU *j .K-ab^JI J>li AJyil*
li* jJbu i^UI ^aUjJI Jl pjiJI *^i *jlmiJII jLx>I J-*- « Ljj .a-»L«I ^k» ^dl
.jUS^I
: Ji\S [fJxf ^ ( PSEUDOCODE ) ^-U^JLI SJjVl ol>iJlj
.*/UJI olj-Jil-. JS" £— • - N
.( environment ) g-ljjJI 2Xy> y^u - V
.LlLiJI rt^ut - T
.JUJI f jJI £yfc| J/IS jJK- .LDl - t
.^lijJLI JL-aU' ** ili " u*"-^ ^L^ 3 **!> Oi^ 3 ~ •
X.u/iJI JUU1I JajCj iiLiJI k^i - *\
..JLkl-JM jLx>l JLaI^iI - V
.OjiHI g-lijJI Jl gytll - A
•rjjkll .JLiwJil jUJw ,jX> ijjIj&JI UbJI jly*l-l - \
.( DBase III+) £*by &> £Jt >JI -\ •
Noo
3*<-*>^l 1*JUH ph^
pj *JL ( MODIFY COMMAND ) IJcS^ C U/VI ^ IS ^»\ij\ U3" ^
£-.l^JI jV SJUJI *i* J> ilxL-VI iiL-,1 ^^lk. ^j .( iMenu ) j*j ^b^JI
jr ,>- Joi J,Vi Lu,Vi jj^i f las-i g-i; ^.b^iij yi ( .prg ) ibz,yi ~l^
^bjJI J^JUG -lie. U-5" U3j yjj li*, ( MODI COMM ) LLf ^ !^LUi .^i
* Main menu for the inventory system
*
SET STATUS OFF
CLEAR ALL
SET TALK OFF
SET BELL OFF
SET SAFETY OFF
SET HEADING OFF
CLEAR
* Create underline variable Uline
Uline = REPLICATE ("_" , 80)
* Create memory variable for today's date
TDate = DATEO
@ 17,5 SAY "To change date type new date and press" +;
"Return "
@ 15,5 SAY "Today's date =" GET TDate PICT "99/99/99"
READ
* Set up loop for presenting main menu.
IChoice =
DO WHILE IChoice # 4
W\
\jrnj \J\ a«jllB jubjd
CLEAR
@ 2,1 SAY "Inventory system main menu'
@ 2,60 SAY DTOC(T_Date) + " " + TIMEO
@ 3,0 SAY Uline
?
?
TEXT
1. Manage master inventory
2. Record sales
3. Record new stock
4. Exit
ENDTEXT
* Wait for answer
@ 24,1 SAY "Enter choice : " GET IChoice PICT "9" ;
RANGE 1,4
READ
DO CASE
CASE IChoice = 1
DO MMenu
CASE IChoice = 2
DO SMenu
CASE IChoice = 3
DO NMenu
ENDCASE
ENDDO(while IChoice ff 4)
* When done , exit
CLEAR
QUIT
: jrttf ^*j ( SET ) ytlj cy l*y*y> &J>
NoV
V-SJ-ijH X^iUJI ^bj
SET STATUS OFF
CLEAR ALL
SET TALK OFF
SET BELL OFF
SET SAFETY OFF
SET HEADING OFF
CLEAR
Z* ( o ) ^ V USUI j| ^j\ ^ ^ (j V| .JLft y. J* iLfc, J* o^dJj
^jy J-* ^j^m ( Uline ) ;>lj ^^ .LiL L^ g-U^I ^ ^jUI .j^ilj
j£~j liLill ^^ >« t>i j^; j| rf4Ji ijl*, . ;>t ^lj IjjSL. (J ZJLUI it^JI
i^J' £-LW c^ js*=H li» -Li3l 0? iV*- ^ .JJi Jbu &J J ^ ^^
i> ! -r*W- **IJ*=-I ^ ^1 ^>Vl iLfi^ll ^I^JJ i_JL ( Public ) L-U *U
: ^IT ^MJ\ J ^k, ^1 |^ .^ ^ jj
Uline = REPLEICTE ("_" , 80 )
( TJDATE ) ^Ul i/LLJI ^ii. .LiiL Lu, ^^\ &> *iJlill .j*M,
J*5- ,>* jlfcJI J-AAJ ^ JUil ^ ^jJI ^Ul j*, .v JLJI fJ J| pja pjUj
J*" 3 *i^i <*> £i>UI JJof J3 fJAiJll ^ l lilj .( MS-DOS ) J-JUJI f L&
C^=-ii •( T_Date ) ^1 ^i .lj^; j,LJI j^LJI J j,^ ^U^JI ajj jl^l
J^-^r 1 *J-*JI ^*j -JWI r _^JI pjb jiljj jo,UI lift Jjjuj ZJUII u* ^
: IJUJI jjJa-JI ix^
TDate = DATE()
@ 17,5 SAY "To change date type new date and" + ;
"press Return "
@ 15,5 SAY "Today's date = " GET TDate PICT "99/99/99"
ifkjjldl JL^JI obLj .J-. yj fj^ww oj- *JSf lo> ^ (Tdate) _^*=Uj
7 t m a ijJI a*JUJI £*b>«
L*j£U jljJuJI ^jjij 3-iLiJI 2—1 JLylj^JI iiUJI o^&J f jJL< pljJI «»Ilj
fi f5 .1^ jAJI 3L-^JI JuiUJI ^^ ^ olji*" li* Jj-I iw- ^ CuSjJIj fcjjUl
.( ICoice ) jjcil J> jts>~i\ II* JUfcJj vj^ 1 jW^V 1 0^ r J^— ^ JU— <Ar*
: JJLJI jjk«JI J5U &> (^j IJusj
IChoice =
DO WHILE IChoice #4
CLEAR
@ 2,1 SAY "Inventory system main menu"
@ 2,60 SAY DTOC(T_Date) + " " + TIME()
@ 3,0 SAY Uline
?
7
TEXT
1. Manage master inventory
2. Record sales
3. Record new stock
4. Exit
ENDTEXT
* Wait for answer
@ 24,1 SAY "Enter choice:" GET IChoice PICT "9" ;
RANGE 1,4
READ
e*M Ji t^ 1 u* ( DO CASE ) ^' J*"^ £- b ^' a- u-^Ji -J*JIj
: aJUI jjiuJI JiU ,^o villi ^ .^JtJtl— II jL=»l »-*-»■ Vj^'
DO CASE
CASE IChoice = 1
DO MMENU
CASE IChoice = 2
DO SMenu
\o\
CASE IChoice = 3
DO NMenu
ENDCASE
Jl t y>.J\j iiLUI jc-^j X^lj&dl iiUJI .1^1 ^ ^b^JI ^ jjXl .^Jl ^j
ENDDO(while IChoice # 4)
* When done , exit
CLEAR
QUIT
DO IMenu
^ >T ^j tfl J' *i- (5) JlioL aJij (4) Jl ( 1 ),>- ybj cj — LI'^jULI & u
J~iiJI f Lkj J[ ^ijjJI j^j g-oUjJI jLjS-I . L^ul juy .^jl*j U lJa>%>j ( 4 ) ,>•
.(4) J LS.^I 1 j i >.o*
.g-b^JI II* luL3 JLLfr ^k! ^1 iiUJI j£i £-»_* ( \ - \* ) JSLJI,
YV
jH 2«jlzii ^ibjj
Inventory ^systenrinain'men^
1. Manage master inventory
2. Record sales
3. Record new stock
4. Exit
Enter choice
( > - Nr ) JSLi
n\
j-hHjJI -*UI JrfiAa ^A»>#
£.1^1 JlZ^JI
UUr J J, ami 3*104
nr
QHi+ijU JJLII JtiSil flijj
( Master file ) ,^-^JI »JUI ,y fc>JI oUjJLdl J-J«-t3j JjliL f ^L £-l^JI 11*
j~« ijUI li*j .j^Jl ^p tiL-jbU ( Current Status ) IJUiJI ilUJI jua*3 .Jjljj
(*5j J-** J^ «^ *; ,>»WI ^j^ill .Lul j--, Li" .( Master.dbf ) o-— jj a^So
ioUJI ,>-. ( \ ) ^1 jUil jLLt g-.bjJI IJUb J-jlu ^ .( Part_no ) .^1
( \ - \r ) JSLJI jl ^1 .i~Jjl
^om jjJI <JUAI J,% v > t j vb«L^j ^«,.a» N — M
J-i-^ L».l>I .j_LoaLj «-«Ijj iiw. ,^-« ^ '-^ >JI <-iill J_Jlw «_oUjj jj^Li
J*A ^>Nl l—iJI g-.I^JI ^ ^ ^111 ( Main Program ) iJ ~~?J\ g-oL^JI
.( \ - U ) JSLUI
I
Addnumbs.prgX
Add New Part
numbers
MMenu.prg
1- Add new part numbers
2- Print reports
3- Make changes
4- Update
5- Return to main menu
I
Jt
Atreports.prg
Print Reports
I
T
mmmmmm*
MediLprg
Edit data
Orders.prg
Print the orders
li
Updater.prg
Update Master
from Sales and
NewStock
( \ - U ) jsa
^.l^JI oi l^U ^ g^b^JI lift UJ>j ^ ^.U^ Ji" ^j JiLiJI ^^
g-^ ^ J! £>^IIj i^l i-iliJI ^^ V-^^l *^j ( MMenu.prg ) ^--5^1
no
H-^j» -W J*A4a £*>„
^--S^II £.1^-11 ^^3 Y - U
•U"^ j* 1 -* 1 *?~iV *-^' e*u ^* «j^^ awi a* ^ ^^ji ^Ljji
: jfttf ^b^JI LL£, L* Jc&j J^^iJL a>^J i*t> JL* c-J oUU
* Menu for master program of inventory system
* Called from inventory system main menu
* Set up loop for presenting menu
Mchoice =
DO WHILE Mchoice # 5
CLEAR
@ 2,1 SAY "Manage Master Inventory"
@ 2,60 SAY DTOC(T_Date) + ■ " + TIMEO
@3,0 SAYUline
?
?
TEXT
1 . Add new part numbers
2. Print reports
3. Make changes
4. Update from Sales and Newstock
5. Return
ENDTEXT
@ 24,1 SAY "Enter choice(l-5)" GET Mchoice PICT "9";
RANGE 1,5
READ
DO CASE
CASE Mchoice = 1
DO Addnumbs
Ml
jMrfjjll JJLJI JjiAa ^Ji
CASE Mchoice = 2
DO Mreports
CASE Mchoice = 3
DO Medit
CASE Mchoice = 4
DO Updater
ENDCASE
ENDDO(While Mchoice # 5)
* when done , return to main menu.
RETURN
Y - \ i ) JSLlll J) l>ui>J.\ JLiLiJI j^kj gyob^JI IJL* 1J.:.- jjlcj
Manage Master Inventory y?: 02126m 12:40:50
1. Add new part numbers
2. Print reports
3. Make changes
4. Update from Sales and Newstock
5. Return to main menu
Enter choice (1 - 5)
1 r - u ) jsla
JL^^I AiLb[ £.1^. r - St
LL^ JJSj .( Addnumbs.prg ) ^b^l XJcj ^l> UUJI »i» <y .ZhU\ LjUII ^j
.JjJimJI
nv
S-^jjii OU1 Jjiia fjiix
JUo^l a_aLa «L-i;l N - r - u
f Liw-L JjVl JJL^kJI < j-xi^ i*ji*L JUoVI 3LiLi .LuJ ^
jLtLJU ^IjJ j^ ,>* j^Ji, ^JUI ( Screen Painter ) JLsLUI ^-.Ij
J*i- ^ ( CREATE SCREEN ) ^1 *AX &J> ■&* j ( Assistant )
j*\j o»L. i,LT j^ &t S-jLUI ZiijUlj .( Dot Prompt ) iLUI ?j*i-.
■g-"^' '■*•* «_** Jj^ 1 *«i^l f j£a-i~} .( Command File )
: ( Dot Prompt ) iiiUI s^. jllc JbJI >JI *Jc* ri ^i '':■'"'.?
CREATE SCREEN Iscreenl
.( Database File ) jLjS-I ^j LiLiJI Jji oljUs^l sy~s, j^ jul*,
jUi-l i^j (^ ( Master.dbf ) oULJI »ju.Ij «_iLo jLi-l ^ J^U ^j
.ijj .LiLsJI J> Uj^J? kjjiiidl Jji>JI jl~il ^ ^^ ( Load Fields )
jUsi ^a .jjlji p-J f u ( ) £1l* jik, uuji »Jub ^ .ju.i"yi j-l^.
JJ>j ( Order_Date ) O^U »_JU» >T j^b Ji> Ijl* L» J^i»JI Ji"
*i, jJl£?JI j^jJl* jSf ( New_Order ) «_ii*aJI ,>-• L$JI> t->u ^1 Z :; JJI
L.i.^11 pi J^bJI JUil ,>. .1^1 jllcj .£-1^1 J>U ,>- Ul U»>L.
( Blackboard ) Sjj-JI ^yJj JuJUII Ua ,>. ^;j>JJ ( <~ ) ^U^ J-t
Jl ^ijll dj>*3 ^ iiUJI J* Jji^JI ^l^. JbJ^w ,>- .l^J^fl xj-i
Ha SJU Jjj^j ,^i} ( Part number ) .j^JI p3* ^LiJI ^j-^' a*-*"
Jj*JI Ij* j^, ^ JJij .( Display Say ) Jl ( Edit Get ) &* Ji*JI
.^jLiwJll ik-ljj JjJjdLI J-Ij fS.
JliiVI j-UJL. J* JiijJIj ( F10) £l^> J* JiiiJI ^ •* Ui V^J
<y i>^Ly .( DISPALY SAY ) Jl *JL>^ ( ACTION ) jUS^I ^
.iiUJI &> .y^\ ^ ^UJI ^j-iJI *>**" 'Li^-I ^J^ 1 »*»
V\A
jw^jjll -UJI J**&a $*bfj
pjj ^L&JI Jl £^1 ^ JU-iVI iili p-^3 ,>* J-j-UJI o-* ^Jj
r ...^ £^ ( r - \ t ) pjj JSLJIj ." Ua " v^ U^- ,>- ( o )
.^.LJI v—> >T J£i j;! p-~a5 o^-i» J^-^ 1 ^^ C-^
Master Inventory File
Part number
Part name :
Quantity in stock :
Quantity on order :|
Storage location :
Vendor :
Date :
Unit cost:
Reorder Point
Name
Address
( r - u ) j5Li
(PSEUDOCODE) iJj^l oljLsJI ibf Y - r -*U
( Addnumbs.prg Jg-ob^J SJjSfl ol^kJJI Julys' pi iiLJI p~»~aj jl»u
.*j ^UJI j-jfUl <JL>j (Master.dbf) f^-^Ji «—«lll ^zi pi
t^UtfVlll II
T^*** - * i**i
.Al3U»l (_>jJLUI (_il«aJI *3j ^£. »J&iJMJIj»*i |W
-\
-V
-r
-I
-0
-V
-V
\\\
4-yjjJl am j^AAa ^ M
oUL, JUo? JUi-Jfl Lili ^ «^U,| ^ iy>y. ^ ^J\ tf lil -a
( Addnumbs.prg ) a»U»^I ^.b* ^ r - r - u
^ ILUI 5^-. j-. ( MODI COMM Addnumbs ) y^\ 1A£ ^
************** *Addnumbs.prg
* Add new items to the Master fde
* Called from MMenu.prg
USE Master INDEX Master
* - Set up loop for adding new part numbers
Partnumb = "X"
DO WHILE Partnumb # " "
CLEAR
@ 2, 1 SAY "Add New Part Numbers"
@ 2,60 SAY DTOC(T_Date) + " " + TIMEO
@ 3, SAY Uline
7
?
* GET proposed part number
Partnumb = SPACE(6)
@ 15,6 SAY "Enter part number(or press Return to exit)" ;
GET Partnumb
READ
W
sm+ljH JUI J*iA3 ^Aiji
* - Check to see if part number already exists
partnumb = UPPER(partnumb)
SEEK partnumb
DO CASE
CASE Partnumb = " "
CLEAR
CASE FOUNDO
@ 20,10 SAY Partnumb + "already exists"
? CHR(7)
WAIT 'Press any key to try again'
CASE .NOT. FOUNDO
APPEND BLANK
REPLACE Partno WITH Partnumb
REPLACE Date WITH TDate
SET FORMAT TO Iscreenl
READ
SET FORMAT TO
ENDCASE
ENDDOfWhile partnumb = " " )
* Return to Master menu
RETURN
ObLJI JJLfrU ulLa Jtli *^j dUi Jbu .4jLfrJL£-.L *jUJI Tt-oUjJI JUJL»u
.( Master.ndx ) JjUII ,j-^iJI uiLoj (Master.dbf)
juu IjjI^JI ZiUJI .^jjio J}U j-. J.JL, ^•L;_ r JI ^ ^lill .>Jlj
^ ( X ) iJJIj .( X ) iuJUl *\k±\j ( Partnumb ) ^iyJI ^jcll .Liil
JLjLj Iju, |»j .»jl>(j Xj-o Jj^ll Jji IjjIj^JI liUJI JLjLj j— ii3 ULnJI »1»
jtyLJI j^^e. £_» ( Header ) J^i* ,J»j^j i-iUJI £— j 2L,L&JI ilUJI
fjj\ li* CriJ~J ^L^! Vj^I '-rrJ' fb »>* f ■**£-! I Jlj- f^j fl cJjJIj
Oji Jl>aVI cy&* J-t JaJuJI o' ^k>U» v^«jj .( Partnumb XkJ£1I ,_^
^Y\
4-WJjli -UW JrfiAa ^^
: XJUI jjkJI j,. jjS^j .j*JI Ijybj .iL-i,!!
Partnumb = "X"
DO WHILE Partnumb # " "
CLEAR
@ 2, 1 SAY "Add New Part Numbers"
@ 2,60 SAY DTOC(T_Date) + " ■ + TIME()
@ 3, SAY Uline
?
7
* GET proposed part number
Partnumb = SPACE(6)
@ 15,6 SAY "Enter partnumber(or press Return to exit)" ;
GET Partnumb
READ
oUll jl A-.J -tr-ty^ 1 • JL11 cp *^ r»j ** ^M r < Uppercase )
.(JJI IJ* &£. (1«JI ^ ( SEEK ) j-»Vl ^oic-j «sUJU ^^^ju
: iJUl jjii-JI Jx. ,j»JI Li* ^jity
Partnumb = UPPER(partnumb)
SEEK Partnumb
<J>ju L« J-e- «Lj jlj-ill ilioL (jax^ij k-oUj-JI fr» j-jIj-II «j-»«J!i
y^u lift jli ( Partumb = " " ) j^ ^-^ JM ^Wl ^j .jJAsJLI
.( Partnumb ) «>> ^3, J\ Vcf &> JUaVI ^bL. J* Jl***. f j£i-JI J
j— '"*' Jr; i*^ 1 j-^ 1 -M^ r 3 S-aLiJI £— - ^ SJLJI »Ju» ^j
J»j-JI o^ SLyl^sll *iWI &+ £j>JI J! i*^ l-^J •( ENDCASE )
.ji^jV JLyljfcJI JiUII Jjl J ijp-jll
\vr
j-^j^JI -iUI JrfiAa gjbj-
,j*JI Li* oi ^ Li* jU • ( CASE FOUND() ) S-jUI ilUJI ^
J J £*»j3 *JL,j ^^ju (.JioJll A*-i3 ^ idJJJ .tiill ^ JU-il J~- jj
j-Vl r Liiou*l j-o *~s)J ^^1 J-JLiJ Jl iiU^L oLJij .ij>^* fJjJI Li*
c Li. ^i J* f jiicuJI -ki* jUiilj 2^11 iJL^JI ^^ <> ( WAIT )
oi ,>Ju II* op ( CASE .NOT. FOUNDO ) i^l 3LH^Jt ^j
g-.LfJI jli iJUJI *i* ^j .(JJll Ji-li a^-j-* ^»i L5j J*al ^JLiixJU
>T j^jb Jl>*| ^ U - .( REPLACE ) ^Vl j^ ,>t g-^l *J»~L*
.Uui ^>lj^JI Jj> ,>*. ( Date ) JjJbu
: SJUI jjh.i.ll ^ .j*JI Li* o^Scjj
DO CASE
CASE Partnumb = " "
CLEAR
CASE FOUNDO
@ 20, 10 SAY Partnumb + "already exists"
? CHR(7)
WAIT 'Press any key to try again"
CASE .NOT. FOUNDO
APPEND BLANK '
REPLACE Part_no WITH Partnumb
REPLACE Date WITH T_Date
SET FORMAT TO Iscreenl
READ
SET FORMAT TO
ENDCASE
■wr
£"*j.»fl -iW Jrfifcj ^yf
c j±^lA\ ijj jl \i\j .( MMenu ) ljr ^>J\ oillL Ju»UJI :_ _•- ,» UUJI Jj
I*JUJI Jl £^1 ^ ilLJI >x* ^j ^ ^i Ji> 3 j jji JU.^1 c Ui.
a*Lil £»L^ ^JljS jj> ^x. ( Master.dbf ) ^,-w^l alii ^U; t , ..,,*- j^.
^k; o-^ibJI ^j .( CREATE REPORT ) ^Vl f U^„L jl ( Assistant )
jljit j^»>; «>JI *ii^il oXoUil JLS-il l^t ^ ^ yJI jjjytJI ( .,.,^- oljUSl
c l±X\ &. LTj .^Vl o%.Ull Jl oU?U J>JI .L-ij (Page Title) *~L*JI
^j*} .( Command file ) j*\jl\ (jU jjjj* ^ jj^izJI ^.^.^J ^>i ii^ JL* ^U
utLJU iL-JLj .IuiU. ii-aj jjyfcJI JSwj J_^2»JI ^Ul JUfc*j ^ jS\ £>L&L>[ jtJ3
.*j L^UJI jjylJtJI < Liil xlc. ,^4j^JJ ^yt^ oj-j ( Master.dbf ) ,^—-5^1
: ZJUI >lj>Vl ^ \^-ji> w ^^-^JijJI v_iLJJ Ajjiiuo jjjU; IjujI JL*j
( Current Stock ) JUJI o^jj^dl j^Sa \ ~ i - \i
~J viw;> ,^-a uj-^l c*-» ciL^>bU JLxJI <_I3jil r--Z>y± viH*-" '^-"
. IJtSL#>_j Jjl>jJI ^ji^ij oj^' ex* *jl^-°j *^-° •A>?'^' *J>*a)I i~»£Jlj *-i. : .- ^> J^
ikiJI t vr t.,a £-• ,^-JLJI ^jjx^il "UcS &*J* ,>t vir**^' '•*■* *Lwj *^jj
.( Dot Prompt )
USE Master
CREATE REPORT Allmast
^Ijj jy+b JJUJI »I* ^ Jm."5L} .ji^l «^- f-! j* ( Allmast ) £
fj' g-a.^, JUII JiLJIj .^jJUall ^yCJI Jili J-* J^«i ^i> Lflli-il
.jj,1lII a?uL3j L<9l»JI o!5l-»l*ll
NVt
a-*J,H -AW J^iia QAijj
Page Title
Page width
Left margin
Right margin
Lines per page
Double space report
( i - u ) j£a
^W ( Columns ) j-ykJI •■***! oU^« juj^s ^ L^
■;-■■■■ >-":■■- - : ■ , --■ 1
ssa«wW!WS««««ft»s(M
&>)$&&i&imjjmmwssffissii/i
*SBW8SftWSS8t
BtBSiSSWffilWSSWSSBS
S»W. A«S*AaS5 ■ ~
£ Column
Contents
Heading
Width
Decimals
Total |
No.
p
:«s*& :™:-.«*.*;:™
■:-:-:■ : -Ji-.-.o:-:-.- ■':■ v;-:- 1 '"-"-:«-:■:-■'
:■:-: ;-:-i;-; ~ "«■; :-:-;-:■--:-" -. : ■£■■-:-:-: • -v:-. :■
■■:->:-;-:■ :" : - --:-: :£-:-:-
1
Part no
Part No
6
2
Title
Part Name
20
3
Qty
On Hand
7
2
N
4
Cost
Unit Cost
9
2
N
5
Reorder
Reorder
8
2
N
6
Location
Location
9
7
Date
Last Update
9
( o - U ) t
jSLa
^fltf. ji J^\ ^ ZJUII iJL» ^j .( REPORT FORM Allmast ) ^H\
: ;*i»
Wo
O-^jH JU\ Jrfiia ^di^
Page No
02/20/90
Current Stock
Si™?^SW#
^&^r^&A01^i
Ml©:: : >
-■'iK* ■:, S. '-*£&■ ■■: - > ■.'
Part
No.
Part Name
On
Hand
Unit
Cost
Reorder
Location
Last
Update
BBB
AAA
ZZZ
Floopy Disk
Printer
Bicvcle
40
10
10
14
800
80
10-A-lll
17-B-233
19-C-175
02/15/90
02/10/90
01/01/90
( Reorder ) aJLUI a* jjjjb r - I - \l
l-T ( CREATE REPORT Reorders ) jJi\ ^J> ^ .jLiil
: Jci\ J5LDI <y Z»v2>jll oX»UI r ljbCL-l fv .^}^i\
Page Title
Goods to be Reordered
EWKtSSSRSPSSSSaK^^
Page width
Left margin
Right margin
Lines per page
Double space report
77
1
58
NO
{ V - U ) J£s
^i\£ ( Columns ) jj^JI U^cl oLp*-. Jlial ^ Li"
>V\
a^^l am j^iia %A>ji
( A - U ) JS^A
1 Column
Contents
Heading Width Decimals
Total !
1 No.
1
Part_no
\
St., m» i.at««iw«» vmtOi **W '«W£WH P*WIIS!*SS^S>S»fca
t'SSWtWWo* ■
Part No
6
2
Title
Part Name
20
3
Qty
On Hand
7
2
N
4
Cost
Unit Cost
9
2
N
5
Reorder
Reorder
8
N
6
Location
Location
9
7
Date
Last Update
8
: ,/fl j^l jfri *IWI a* ^i ( REPORT FORM Reorders )
■ . - ■ V : ., - ■ ■■:':- .; .-.. i
02/20/90 Godes to be Reordered
,, ix^iXtf&ifl&K 1 ' iil^K^-'^^^^^^^^^^^ : ^&^
Part
No.
Part Name
On
Hand
On
Order
Reorder
Vendor Name
AAA
Printer
5
5
10
Micronet Company
( \ - Si ).jSLa
yJUdl c*a ciL-»Vl jjja f - i - U
^•Vl Jj^> &C LuLJI ji,LaJI JJL- iijjkll ^^jLj jj^UI lift .Liil ,*ly
JSLDI yi S^j,ljJI cCUUll JU*I ^ ( CREATE REPORT Onorder )
: JUII
wv
d-sH^n am jrfiju ^b^
U»^AJJ^JWJ.^UlJlM-l..a..-«-
Page Title
fam»«.»'-,VMA{,.,>,i«l t t) m y»
Page width
Left margin
Right margin
Lines per page
Double space report
Items Currently
On Order
77
1
58
NO
< \- - U ) JSLft
JiLiJI ^ la^l oULJL fcLc^L Sjl^VI oUU JUol ^ L5"
: JUI
j Column
: no.
Contents
Heading
Width
Decimals
Total I
i
Order_date
Order Date
8
2
Part_no
Part No
6
3
Title
Part Name
15
4
On-order
On Order
7
2
N
5
Cost
Unit Cost
9
2
N
6
Cost *On_order
Total Cost
9
2
Y
7
Vendor
Vendor Name
25
( \\ - \i ) j£ft
.( REPORT FORM Onorder ) ^Al Llrf ^ ji^JI uMj
\YA
Page No 1
02/22/90
Item Quantity On Order
TWS
m
"" ■ >" , , y j " ygs ' j ' 7
Order
Date
Part
No
Part
Name
01/02/90
AAA
Printer
On
Order
Unit
Price
800
Total
Cost
Vendor Name
4000
Micronet Company
TOTAL
4000
( \y - u ) j&a
iilxXjl DjaC- ,ji tijjfjli ObL-JI «^Mh»Cj mjju jJjilil jl li* Ji^Ly
j^dl ,> (Y) jUSVI JU.il &~, jU» oV dUij .( Total Cost ) USUI
.Uu^l obLu ^UJI JSLiJI ^ ^j Lj? ( Total? )
( Purchase Order ) .Ij-UI vJJ* i - t - \i
^Ujj JU> ,>-« LfjLt J>-a>JI ^ j^ill ^jjUxJI jl>I jj- Jj-tJI vJLfc
oUU (.xic-il Jjc jayu q-»XjjJ\j .( Master.dbf ) y-wjJI t-AUl J-JU3
,>* »Jjjj ^ill ijjJI yJJ» ^j&s-JU ^jo, *_JJjJI o> Jl ,_La3 ^1 iJL^I
(JL-»^I ^ t_lL^ J£J ZJUI LiLiJI g^UjJI ^.yu *£~> .*jLl-*^I »1a
.UWI J> Jl J-c ^1
Part number
D-100
Suit
On hand
On order
Reorder
Unit cost
30
10
50
100
Order now many ?
( \r - u ) j£j,
m
a-rfJjM -U4I J**Aa ^uli^
^>j ( On Order ) l«JJ> ^UJI JjJI iJUj oi ij| ^ ; 3j ^j ( Suits j
.jiujjcJ Ujl^ o^U»ll JjJI ijift ijp« dUj Ja .Ly .( Reorder ) JUI
jl^ ^ .,>-ll Jlj — H f LoI *uJI 11* JUoL f j*a-ll f yL, .j^il ^^xUI
juuj .( Reorder ) uJUl j> Jl cJL*j ^1 oLl^I y5L ^ iJUJI ii»
""-'■:^:' : -;->-;JijJf|
Please send us the following itmes...
10 Suits 100 1000
5 Printers 800 4000
Total Cost 5000
Wk^WSS
[ \L-M ) J£i
Ji)
IJLdl ywLjj a^i rfi
- I - u
^1 i^iUIl ,y»j jjjUdl i— --SjJI JuiUII ^.^ ^ill ( MReports.prg )
oULt jv>bjj jj> j>VI jy-abjJIj .j.v.LJt i_»jJLL1I jjy&JI l$i« *j&lJM jU*j
iJLL-»bU Jj-ill oUi» 3-c.U> 4ij> ,>* ri (i 111 (Orders.prg) J^-UI
. . i >ji- u ivJWiJb. *'jsj a iii
XJUII £.b>. |»**-£ h - i - U
\A<
4-yjjU Jiil J*»Aa ^b^
JJj ^-li^JI a^Ijo ^i ^ *; JaJjll ^^fiH <-*L>j oULJI Uttt <_tLi £J
: 3ULJI jjkJI ,>- jj^ ^li^Jlj .ifUi
*************** MRoports.prg
* Present report options for Master file
* Called from Master menu , MMenu.prg
USE Master INDEX Master
* Set up loop for presenting menu
Repchoice =
DO WHILE Repchoice # 5
CLEAR
@ 2,1 SAY "Master Inventory Report Options"
@ 2,60 SAY DTOC(T_Date) + " " + TIMEO
@3,0 SAYUline
?
?
TEXT
1. Entire inventory
2. Reorder report
3. On Order report
4. Purchase orders
5. Return to master menu
ENDTEXT
@ 24,1 SAY "Enter choice(l-5)" ;
GET Repchoice PICT "9" RANGE 1,5
READ
* - - If not choosing Purchase orders, ask about
* — printer .
CLEAR
STORE " " TO YN, Printer
\A\
a-+»j* M» jtiAa ffji^
IF Repchoice < 4
@ 5,5 SAY "Send report to printer ?" GET YN PICT "!"
READ
CLEAR
* Set up for printer.
IF YN = "Y"
Printer = "TO PRINT"
ENDIF
ENDIF(Repchoice < 4)
DO CASE
CASE Repchoice = 1
REPORT FORM Allmast & Printer
CASE Repchoice = 2
REPORT FORM Reorders FOR (QTY + On_order) ;
< = Reorder & Printer
CASE Repchoice = 3 *
REPORT FORM Onorder FOR On_order > & Printer
CASE Repchoice = 4
DO Orders
ENDCASE
* IF report not going to printer and not
* exiting program , pause .
IF YN # "Y" .AND. Repchoice # 5
?
?
WATT "Press any key to return to the reports menu"
ENDIF
ENDDO (Repchoice # 5)
RETURN
>AY
a-*!.* MO J,j*Aa g-bj<
, rj 4J}\ «_AL.j ( Master.dbf ) lS ~~*J\ «-*UI £ii pi p3 .*jUjuu.L ^jJu
j~! c/J' ajjI^JI UUil ^j>So liUi jju ^ .( Master.ndx ) ju ^UJI
^JLJI g^i Ifi- r JL»oJll jLju ^1 oljUS^II i*il3 ,^>* l^U ,>-
: 3JUI j^k-JI ^ <j»JI II* Oj&jj v^^l
USE Master INDEX Master
Repchoice =
DO WHILE Repchoice # 5
CLEAR
@ 2,1 SAY "Master Inventory Report Options"
@ 2,60 SAY DTOC(TJ5ate) + " " + TIMEO
@ 3,0 SAY Uline
?
?
TEXT
1. Entire inventory
2. Reorder report
3. On Order report
4. Purchase orders
5. Return to master menu
ENDTEXT
@ 24, 1 SAY "Enter choice(l-5)" ;
GET Repchoice PICT "9" RANGE 1,5
READ
^li^JI J_JLi3 Jl j^ ajU ( 4 ) ^j jLwS^I L.I .7^iiA\ oU-JI
Ji: ,>dl oLu»Sl obU r ai*iJll J* ^yu g^li^JI ti*j .( Orders.prg )
P> .i_ii-» Ji" ^ ij^JJall 3L«£JI jLa»j aj ^jj, ( Reorder ) yJikll a*. £*
.Lfl .IjjJI ^.Iji ULLj 5-bjJI f >L
NAf
anHj» M» j^Aia %**„
( Printer ) j ( YN ) iJ\JJ\ ol^Jtu .Li:L Lu, ^Ul .^Ij
t> jir^ 1 **M» +ui oli" li} f J^wJ[l Jl>. ^ .{ n ■ ) i^jui u^Ui*jj
**M*i r-^ t^^ 1 < Orders.prg ) ^^ J! gys- ( 4 ) jUSVI jV dJij
.( Purchase orders ) « I^UI ^.Iji
( IF ) a* ^jl\ ±^\ lj ( Y ) jL^VI fA icA\ jl^w Ujutj
.( Printer ) ^1 <p ( TO PRINT ) ijLJI ^ Jj L» ^ iii3 .jjba,
CLEAR
STORE " " TO YN, Printer
IF Repchoice < 4
@ 5,5 SAY "Send report to printer ?" ;
GET YN PICT"!"
READ
CLEAR
* Set up for printer.
IF YN = "Y"
Printer = "TO PRINT"
ENDIF
ENDIF(Repchoice < 4)
^ L&xJ Ja**iL(j ,dj\jj[ j~- ^JJI ( Allmast ) j>J^\ ctn& ^ ( 1 ) pV
^j *j U>II LwjJL, ( Printer ) ^iill &£■ j^^U ( & ) j>UI iJla
: ^tf g^ ^1 ol tfl •( "TO PRINT" )
REPORT FORM Almast TO PRINT
.,3>IU «ij>jll cJL-sftl oliU L*JjI- ji^tJI icLU J[ ji}i Li*j
3ai*j>]| Jill Jj i wAn ^*bjj
^JJI ( Reorders ) j^^Jl oi>^ ri ( 2 ) fV f J^~U j 1 ^ I-xla,
( Onorders ) ^jiill ls\J? ^jj ( 3 ) ^>J\ (.J^i-il jUJu L.jllcj
Jirt ,>* liUij -kli ydUl wow oL^ L^l« jl>jj i j^\ oLwoU I, ; ,;1L
.( Onorder >0 ) J^iJI f L£iJ
j^cJI ^ JO. iLLJI &XJ\ oljl~S?l J> ( & ) j/UI JUIa f ljLJc-lj
iljl lili ,*jScl*A\ jUx>l *_*-»> i-iLiJI J_c *j»j£. jl jjj-tJI I-f-LJr» ^
^ Iji*j .( YN ) j-idl ^ ( Y ) o>*JI >ju *ili jj^tJI tfli f jiiaJll
.j-^l j-. L* ( printer ) j-idl ^ ( "TO PRINT" ) ^LJI JUol Jl
^1 jlju ( TO PRINT ) ->J~* JL^al Jl ^j_, JUJL, lj_*,
.^1 i*L> Jl ^ L- ( REPORT FORM )
*jli a-Lr-LJ* jjj Jaii JLiLiJI Jje. ^j^ixJI ^j-c »JJC-Jll ilji lil Lol
Ji^Jjl jfcwtff JUL, .( YN ) jJdll ^ ( Y ) j,i. tsJA i*-3 ^1 >ju
^1 iiU.} f jix. Jl tjiij IJu-j .LJU ( printer ) j-*dl J-ky ( IF ) juu
Ju* LiLUI J* a^*, ^ JUL, ( REPORT FORM ) jJl\ juy SjL*
g-L^JI Jl gjij g-olljJI jLi ( 4 ) jL^VI ,JL^Jil jliiu L«jL^frj
.juo U-J *^-lj4 pi;-. ^jJI (Orders) ^/Lll
: iJLJI jjJLJI ^-0 Oj&o *>j^ j~« ^JJI liJUl .j^Jlj
DO CASE
CASE Repchoice = 1
REPORT FORM Allmast & Printer
CASE Repchoice = 2
REPORT FORM Reorders FOR (QTY + Onorder) ;
< = Reorder & Printer
\Ao
9-^»J» -UU JrfAAa &Hi M
CASE Repchoice = 3
REPORT FORM Onorder FOR On_order > ;
& Printer
CASE Repchoice = 4
DO Orders
ENDCASE
.^jjliJI ,>- >•! Lcjj jUJw ,_^> tfJ>-\ tjj» jjjllJI JLot3 Jl fy*JS ^jsJut
Jl »ij-»Jlj jJjUJI g-objj ^-. £j>AJ ( 5 ) (JjJI jLxio jl *>l*JI ^-a-
.( MMenu.prg ) lJ ~~iJ\ .Jill J-i^s ^bjJ I~-^j"I S-iUJI
c lj-SJl j-ljl g-b* v - i - U
jjjliJI g-»lj^ jp ( Purchase Orders ) J^iJI ^Iji I*U» ji j>j*l
I!*, .( orders.prg ) .I^JJI ^\J\ £-»L>j Jl £>£» ( MReports.prg )
lS ^>J\ tjUl J^L> vl^tjj jl y^»u 3jLUI ,y _^3 t_iiUs-j Ufr &'yi £*kjj\
JL-&II C**j -oli dUi JLi^Jj -U?^ y«»« J^y <->Li-»^l ,>* ( Master.dbf )
ojUy ( On order ) v*^ 1 ,;: * ;, « ;i *— ^' J-* 1 ( On hand ) ^Ui o>>j4l
a*, o-* iM; ^*--* U** J"!«i 'j- 8 J^ t**j •( Reorder ) iJikll ,l>w £j~?1I
JUu; .i_«,UtfJI 11a j-a Lftjlj-- t-JjlUI i-*SUl J-C *JL»OJM JL-J Ajjj l_JLkll
^j .J>LJI ^Ijl gJv-^li Ujl^i ^jJLtll .JLl^I JT JUil .y. cU-VI
«-*^l tP ( On_order ) J£«JI ^ •*j>jil i— ^" ^-J^^t f>^ ^j^' u*** 5
^ ijLl-» JiU JL-jJL JJuJI UL* J^. »jul»JI I— £11 j-»u JJij ,^-^1
: y^lT j^j ^j (PSEUDOCODE)
.iiLJl ^—o j^j - \
a-HUjll JAM JrfiAa gJb^
.( Master.dbf ) ^Jl ^iUI J^U- iyljSo MU .^^ ^ - r
cJUl c^j X— 5UI £- ( onhand ) *JL*ill X-*SUI £^**wo jUSl ^ - i
^ dc-e j£J ;...■: lb dUij -vJiJI j*« £>»»*ll *Jj<i.j ( Onorder )
.(Master.dbf) lJ ^>J\ «-Ull oti-»J
.LiLiJI vmi |t^j ~
.*JJ> cx>y jlll oL-aJI lib- ObLu ^v* (**i ~ "^
■^^11 U* j- IfjU. tjijIUI *-&• Cf* f J^C~JI Jl>- pi - V
L^JLt v*w ^Jl *«£JI JJUj ^ ill ( New_order ) Ji*JI <iuj*3 ri - A
>T gyb Ji^ ^ JUI ( Orderdate ) JUI vXjJW dUiTj vJjl-JI ,>.
.ujU-oJI |jfl yit»
.iiisJi ^j. ^ i<JJ» w-u „sii j^i J* ju.il julc - ^
.Zj^UJI oL-ffbU ( Temporary File ) cij* <JL> « bul ^ -
y-^jJI ^jlJULI ^j ( On_order ) yJiill cu-o J-*> «i-jL*3 ^ -
.(Master.dbf)
.jLai\ Jl (Neworder) j£. obp*-. »*UI ^u -
.Jiii i^JLLlI iJL^SlI cibU J* ^ji~ ^JJI c3ji\ till I j^i j^j -
^.....JtI idJij ( Vendor ) ^5UI Jiv Jx. « Lj uiiil II* I— ^ ^ -
.,>yoUJ :l— Jb <jLJSri
.jgI^lcj jjUI *- <l ic-U? *^ -
i_jL-o*3ll J-a J^> J£J »jJ— J i.i:.nll *— ilj JUjiUll i-*SUl JLfrLJ? *Jj -
.uUI to* fr* Ujl^i *^j ^ill
LT .JWI LL«i J£JI yuJI UL> fi ^Ul IJL* ^ .Lp^l jllc -
.ajIjI^j oLl^^II tA* J ZjjUall jl£il Mil icLt *Ij
jui> gib Jl Jltnil dUtfj LullJI J* ;jbjb. i*JL, Jl Jbfcrtl ^ -
.c3jll .Jill yi (Vendor)
.cJjll kjtlll Js ^j*iUI a—j»J L^j.lb LJLjJI tJL* _,-• -~ -
•jtjjUsIl %A>j> Jl iajJIj ZjuUJI ,JUj ^ .Ljsfifl
^•bjJI iLf a - t -
jaIJ Vc* ^_ £*\jj} ( PSEUDOCODE ) JJjVl ol>AJI. X.LS' juo
NAV
3"HS-»jll -AUI J*iS3 ^Jli^
*JUI j^kJI ^i ^^Jba ^ ^u^JI
*************** Orders nre
* Create Purchase orders for reordering
* Called from Reports menu, MReports.prg
CLEAR
USE Master INDEX Master
* - -Make the loop,and display goods below reorder
* - -point,and ask the user how many of each to order.
GO TOP
DO WHILE .NOT. EOF()
* - Find out if onhand plus onorder quantity is
* - - less than reorder point .
IF (Qty + Onorder) < = Reorder
CLEAR
* Show status of item to be reordered
@ 5,5 SAY "Part number: " + Part_no +" "+ Pname
@ 6,5 SAY "On hand " + STR(Qty,4)
@ 7,5 SAY "On order " + STR(On_order,4)
@ 8,5 SAY "Reorder " + STR(Reorder,3)
@ 9,5 SAY "Unit Cost" + STR(Cost,9,2)
* Ask user how many to order
@ 12,5 SAY "Order how many?" GET New_order ;
PICT ,, 999"
REPLACE Orderdate WITH TDate
READ
ENDIF
SKIP
ENDDO(Continue loop untill end of file)
* When all orders have been placed
VAA
jUjHjJI -U4I J*«i3 &to*i
* — Make a temporary file of items to be ordered.
CLEAR
? "Preparing Files please wait"
7
? "(Prepare printer while waiting)"
COPY TO Temp FOR Neworder >
* - -Update On_order field in Master file with new
* - -orders,then set the Neworder field back to zero.
REPLACE ALL On_order WITH Onorder + Neworder
REPLACE ALL New_order WITH
* Use temp file (which contains new orders)
* Indexed by vendor
USE Temp
INDEX ON UPPER(Vendor) TO Temp
* pjies ready , inform user
CLEAR
? CHR(7)
WAIT "Ready printer and press any key to print orders"
SET PRINT ON
GO TOP
* Loop through Temp file
DO WHILE .NOT. EOF()
* For each vendor , print name and address
Thisloop = Vendor
Mtotal =
? vendor
? Vendor add
^A^
a-ri-kjll jlui Jaiia tAi+j
?
9
? "Please send us the following items...."
* - -For each item to be ordered from this vendor
* - -print quantity.item , and price .
DO WHILE Vendor = thisjoop .AND. .NOT. EOF()
? Neworder , Pname , Cost , Neworder * Cost
Mtotal = Neworder * Cost + Mtotal
SKIP
ENDDO
* When done with this vendor, print total
* Cost,and shipping name and address .
?
? "Total cost : ", Mtotal
?
? "Mail to : My company"
? " 12 - Tayaran street"
EJECT
ENDDO(Continue for each vendor in Temp file)
* when done, turn off printer , and return to
* Reports menu .
SET PRINT OFF
RETURN
: SJUI j>-JI J^ ^ dJij .^ ^UJI ,^^1 OUj (Master.dbf)
CLEAR
USE Master INDEX Master
VV
j^jH M» Jrfiia &b*t
( Loop ) I^l^So XiU .UJl *SK- &> fJ £-1^' 0-* u^ 1 -J^'j
^^u. J*. ^1 oU-»Vl ,>& ( Master.dbf ) tr --i J JI OAII J5U c^kJJ
: 3JLJI jjkJI Jfc- ,>• uUS ^ ,,JU-»Vl ki* ,>- oti-» JS" ,>• Lp^
GO TOP
DO WHILE .NOT. EOF()
* — Find out if onjiand plus onorder
* quantity is less than reorder point
IF (Qty + On_order) < = Reorder
CLEAR
* - - - Show status of item to be reordered
@ 5,5 SAY "Part number:" + Partjio + " "+ P_name
@ 6,5 SAY "On hand " + STR(Qty,4)
@ 7,5 SAY "On order " + STR(On_order,4)
@ 8,5 SAY "Reorder " + STR(Reorder,3)
@ 9,5 SAY "Unit Cost" + STR(Cost,9,2)
* Ask user how many to order
@ 12,5 SAY "Order how many?" ;
GET New_order PICT "999"
REPLACE Orderdate WITH T_Date
READ
ENDIF
SKIP
ENDDO(Continue loop untill end of file)
£jj\i, t^ja |^ij ( Order_date ) *JU*J' Ci>^ Ji> jl Li" .( New_order )
tf-HM.>ll Mil J^M&a ^.b^
.JL-^I obL, £-*». j-j J^U ^ ^ £*bjj\ ^ *iJLJI .^lj
.( temp ) ^^^ ( Temporary File ) cJ>. ,oU ^ \,J&\
: LJUI jjkJI J^l> ^ dJi ^
CLEAR
? "Preparing Files please wait"
?
? "(Prepare printer while waiting)"
COPY TO Temp FOR Neworder >
( Master.dbf ) Lr ^,J\ Ulll obU J^juc *£Ai ^ ^ ^yi .^Jlj
*3 j^xJI Ijlu»JI i— £11 XiLi»lj ( On_order ) i-lkll c*c; JL»£JI Ji> oLU
( New_order ) ;jujl«JI JLJUl JJi> »*UJ ^ ^3 .liUI i-SJl Jl lfJJ»
: 2JLJI jjkJI JiU- ,>• JJi ^ .jLal\ Jl
* - -Update On_order field in Master file with new
* - -orders, then set the Neworder field back to zero.
REPLACE ALL Onorder WITH Onorder + New_order
REPLACE ALL New_order WITH
*i«^i ^ L^( Temp ) c3jil .Jill jp *N> &» ^j ,^-UJI «j>JIj
JiL ^Wl JyLJI iJU> i*Lt ^ l*^ ^j ( Vendor) ^Ul Jji> J*
: zjui j>-Ji jju ^ aii ^ .tto. jt ^L
USE Temp
INDEX ON UPPER(Vendor) TO Temp
<> ( Vendor) ^L JXJ J^-UI 'ylJ-ieLU ijjI^Sb UU ;L£ilj Z*ADI
pu+ijll Jlil J<iAa &***
J& L^UJI J^l i*LW IfAib ^>i ~^j£i iiU .Lul ^ Li" .»a>
CLEAR
? CHR(7)
WAIT "Ready printer and press any key to print orders"
SET PRINT ON
GO TOP
* Loop through Temp file
DO WHILE .NOT. EOF()
^ r *l\ uUJ ( Mtotal ) »>IJJI j-jll. .Liil ^ IS .( Thisjoop )
Thisjoop = Vendor
Mtotal =
? vendor
? Vendor add
? "Please send us the following items...."
jjull ,y ju—I ^jjitf ^ ^JL J£J Z-— JL lUJi, »j> Jx ( Vendor ) ^JL
: Z2UJI u* ^y SJUI jjkJIj .( Thisjoop )
DO WHILE Vendor = thisjoop .AND. .NOT. EOF0
? Neworder ,P_name , Cost , Neworder * Cost
Mtotal = Neworder * Cost + Mtotal
SKIP
ENDDO
\\r
a-sHjil -iW J*«ia ^^
iftUr pi X.J, ^L p-,1 Jl JlEiVI J^ cS' 0**- C^i 0- « W J^J
JUjI ^ ^ill uU^L» yJWI IV 5-WI iil&JI **Lt pi UT ..I^JI jj
.( Eject ) XtUJI ajj Js; pi pj .*J| oU-,Vl
: SJLjJI »I* j^»j5 3JLJI jjLJIj
? "Total cost : ", Mtotal
?
? "Mail to : My company"
? " 12 - Tayaran street"
EJECT
.J^iJI ^.Ij? JiL, UU> pi </» L>jUJI *j,l^sll UUII ^j fi
g-ls^JI Jl •ijjJIj ( Off ) J-^l Lf^j J LuUJI iiUI ^ aUi juo
: SJUI jjkJI Jfc> ^ viUij (Master.dbf) ^Jl
ENDDO(Continue for each vendor in Temp file)
SET PRINT OFF
RETURN
u^Jjll JUil J-Axi g.by. - \i
uis ^ ( 3 ) fij\ jLs>\ &> ch* c^i ^" J^> e-^ J! W ri
JjjVl oljJwJIj .( MEditprg ) g-lijJI Juia pi £-> ^Jl .Jill J-Ais ^li^
: jfifc o& fM 'V ( PSEUDOCODE )
•ju ^UJI ^jfUl .JUj (Master.dbf) ^-Jjl -OUI £i pi - V
.JjJUlJI «l>>^ *i,lj^3 3il> &£j pi - V
.obLj Jjjlo ijjULII ( Part number ) .;*JI p3> ,>* «i^JI - V 1
.UiUJI Jl gjfjll pi ( Part number ) . j*JI p3> JU-aj f ji* x* - i
JUtfl S-4L4 f ljLki-L ajULu ^^ pi v^ 1 «>p ji J-* J-t^ 1 ■"* " °
.( IScreenl )
\\l
a-rf-M -Wl JifAAa g-Uj*
Jl>jV l~*jii\ »jUuilj ^JtiuLjl j^l-ui ^ i^jJJall .j#JI Jx jjiJI ^ 1 lil - "\
. EJ >ji f oioJii ok. ^ j-j*ji j ji>L-yi - v
^15" oLS" ^ 3J/N ol>*JI J* &*u ^jj| ^L^JIj
****************************** jyfg^jt pre
* Edit the inventory Master file
* Called from Master menu , MMenu.prg .
USE Master INDEX Master
* Start loop for performing edits
Partnumb = "X"
DO WHILE Partnumb # " "
* — Find out what part number to edit.
CLEAR
@ 2,1 SAY "Edit Inventory Master File"
@ 2,60 SAY DTOCT(T_Date) + " " + TIMEO
@3,0 SAYUline
?
?
?
?
Partnumb = SPACE(5)
@ 15,5 SAY "Edit for what part number?" ;
GET Partnumb
READ
* Try to find that part number
Partnumb = UPPER(Partnumb)
SEEK Partnumb
^o
a-*Jjll -UM J*AAa #i3„
DO CASE
* If no part number entered, return to
* — Master menu.
CASE Partnumb = " "
CLEAR
* If part number found , edit using
* Iscreenl format file
CASE FOUNDO
SET FORMAT TO Iscreenl
READ
SET FORMAT TO
* Otherwise warn user, and allow another try
CASE .NOT. FOUNDO
@ 17,5 SAY ^There is no part" + "Partnumb"
@ 24,5 SAY "Press any key to try again"
WAIT
ENDCASE
ENDDO(Continue editing untill user requests ...exit)
* Return to Master menu
RETURN
*Sj »i\jJ\£j .*j ^oUJI ^j^iii (_iL>j ( _ r 4^ r il will I fCJ ~J *j .AiLfcJCL mjAj ^JJI
<y .-G.7m.II *1>jl. ^JJI ( Part number ) c_>»JI |Jj ^c >^*JJ Ijj\^j *J&> &J&
: LJUI jjii-JI JiU ,>- dUi ^ ( Partnumb ) ^-iill
USE Master INDEX Master
Partnumb = "X"
DO WHILE Partnumb #" "
NAn
3-rfJj" juji j,^ ^jb*
.^ijilAi {3j}\ &s. f jAi-il Jl>- ^ cJjJIj pjUlj JLiLJI jljjL* ^^ pi, fj
: SJLJI jjJLJI J*. ^. dJij
CLEAR
@2,1 SAY "Edit Inventory Master File"
@ 2,60 SAY DTOCT(T_Date) + * " + TIMEO
@3,0 SAYUline
?
?
Partnumb = SPACE(5)
@ 15,5 SAY "Edit for what part number?" GET Partnumb
READ
jJi\ ZkJjj *jl* £*Jl> ( Uppercase ) ij^S *Jjj> J[ . j»JI ^5j Jjy*3 ^j |*3
: ^rttf diij .( SEEK )
Partnumb = UPPER(Partnumb)
SEEK Partnumb
J* jjiJI ^j U5j Ji-il lil L»I . C ^~5 V JI uilll J.j.i.^J iu-^ll i* 51 ^ 1 Ji %j*JI J{
JU^I iili JAi ,>- .j*JI li* obL, ^^u g-b^JI ojj ( FOUNDO ) ^1 IJL»
pb ^> ..>«JI li* obL- Jjjlo f jLicL«JJ j^l; pj UjLi;l $~. ^\ ( IScreenl )
.(IScreenl ) Jl>i?l iili vjL. j^Lil
•>l |*5j Jl>i"y i^>jiJI *J»«jj »Jk»il_il
\\v
a-^JumjaiAa^Ji,,
DO CASE
CASE Partnumb = " "
CLEAR
CASEFOUNDO
SET FORMAT TO Iscreenl
READ
SET FORMAT TO
CASE .NOT. FORUNDO
@ 17,5 SAY "There is no part " + Partnumb
@ 24,5 SAY "Press any key to try again"
WAIT
ENDCASE
ENDDO(Continue editing untill user requests exit)
RETURN
m
aU^IIJJLi J&k&a &bjt
jAl ijuilsll J±aUI
r m
e*Ujd
\s\
aU^kJI Mm Jj»« < n £*b.rj
Olnj.11 tiLt *ioJ~j «jL-=>Vl olw ***l^ \j eC ^i UJ^' 2^^Ji 0-* *./»*■" I**
U^ H<3J.;.« p-«ljj *jujI j-« i)j£~* p-"^ Jir^ lT^ ^^ (^*iJ •*^'* J- 6 »^i
.-> ( Point of Sale ) £~JI SLc J-c <JljJ/)IU ^l^JI li* fJ iy .jku Lj ^UbVI
*3j J>il lil .jjiJuJI jjJ^w ualj^JI *>!» L5* .LIT JjjjLUI ,^3 oLtfil ^IjLj «J-j
( SMenu.prg )g»\iji ,y>j .^L-iti^l j*-* Li" ^1^ 3jo,I ^ g~*ljjJI U* dj&a
Ua£, ^> f£*cj jill ( Pos.prg ) ^-oU^y J^l o">UJI g**UJI ,> ,J^» tflll
.J3j-« ^vi»jj ^xJI jjjUzJI ^Jjj ^JJI ( Salreps.prg ) g-olj^j ( Point of sale ) £-JI
.oU~JI v_iL> oULj Jj-jucj *l— j ^JLtl ( Saledit.prg ) uU^jj oL^Vl oli,.,.«
: JUI JSLiJI ^ j^j g^li^JU ^.^1 •-/jillj
FromlMenu.prg
SMenrnprg
1- Add new sales
2- Print reports
3- Edit sales
j:
■PMH
Posjjfg
Point of sale ;T
Date entry program
?&dlreps^rg
Print reports by
Invoice or range of dates I
31
Saledit.prg
Edit the sales
transaction file
I \ - \o ) JSLi
^ ( Salreps ) j ( Pos ) j ( SMenu ) ^-1^ j>a ^ oj- JUI ,>»JI ^ij
.oUUI vi-ji^ ^UJI J^oill Jl ( Saledit ) £»b* ^ J^>b
Y»\
£*Urf*ll JUj Jj»Ai jubjj
( Smenu.prg ) "*~~4J\ UUII ~b^ y - \o
.LiLJI J* 3LJUI iuiUJI ^ g-al^JI JJLi3 jclcj .ujUJI f lkJ *;--J^I
^Salesr System Menu 02/20&0 04rS0.~30
IVW^U KmHIMtNTH*'
1 . Biter point of sale routine
2 . Print sales reports
3 . Edit sales data
4 . Return to main menu
Enter choice (1—4 )
( Y - \o ) J5Li
^ Jwi ^^j « *J ( PSEUDOCODE ) *Jjl\ ol>^JI UX J| ^l» ^U*
************************** SMenu.prg
* Menu of sales portion of the inventroy system
* Called from inventory system Main menu .
* Set up loop for presenting menu
Schoice =
DO WHILE Schoice # 4
CLEAR
@ 2,1 SAY "Sales system menu"
@ 2,60 SAY DTOC(T_Date) + " " + TIMEQ
T-Y
aLhhII Mm JrfiAS ^Aiyf
©3,0 SAYUline
?
?
TEXT
1. Enter point of sale routine
2. Print sales reports
3. Edit sales data
4. Return to main menu
ENDTEXT
@ 24,1 SAY "Enter choice (1 - 4) " GET Schoice PICT "9"
READ
* Branch to appropriate choices
DO CASE
CASE Schoice = 1
DOPos
CASE Schoice = 2
DO Salreps
CASE Schoice = 3
DOSaledit
ENDCASE
ENDDO(While schoice #4)
* when done , return to main menu
RETURN
(Pos.prg) £*!l aLaj g.bjj r - No
.u* LftLiJI Jx jtk, L. ^ Vji ^ g-l^JI lift ^\J Lj *. J, .jj| Jj
iiLi ^ ^J\ J^juiJ jllo -£-.^1 li* dd&J l. v u.„ .^LaJI o^ „&. .Juta
.( f - \0 ) JSLUI ,>* ^^ L5* L.U ^jJI Jjjsli ju^j
Y-.f
AUrffll Ola JjiAn £jbjJ
02/20/90
Clerk
Invoice number '
Customer -
Part # Name
Qty Price Total
( r - \o ) jsls
^j ,jjj\ J—jJI j—lj ( Clerk )^JI aJLwiu ^jUJI v^Lt^II ^1 LiLSL ..jl^JLI -ji
.( t - \« )
02/20/90
Invoice number :
clerk wmmaamm
Part # Name
BnlllfliluHwliBIunitnuHiHufl-
Qty Price Total
( i - No ) J£i
JUI jji^lJI ^k; ij^ ^ •> fSj) f 0iO-JI JUil Olftj
No such part ! !
Y-i
juUrfxJI -1U JrfiAa £jbj*
i>»j-« *J?> *3j JoUS* JLLfj .JLyli "tjM JjUu jl ZJLxJI »1* ^j ..l-*T.„ .11 ,>£-jj
i~£JI JUiV ( Highlights ) 3-J^» IjuJ ^Ju LT UT ^ .>JI li* pj Jj
&z JSJI ^uJI kjL-^u g-'bfJI pji Li* .( Selling Price ) £-JI jju-, ( Qty )
^UJI J>yiA\ ij—JI ^ f ( Price ) ^Jl yu. ,y ( Qty ) i-JUl uj^ j^
j^JSLill ^» JLJLJI »i* ?v£5j .JU1> *5j JU-ib .JLibUdl .jJU ,_^> JUI »J*JI -Jy
02&0/90
Cferk
Invoice number -
Customer ,"
i#i;iiiiiiilSJuaia;iiiiiii^
Shoe
( - \A ) JSLft
02/20/90
Clerk BMMBB— i
Invoice number r
iJJBinijJiii^
"^^^^SM^^^^^^M
ii:EVEn;; :: |fSf|fi!|i||BI
Hi : : EHHI ! • iEH^HHF EEOHI !
_ ( -\ - \0 )
J&UI ,>- «*U* £-*=i> ' U i LJI ^^ ^ V^ jH**i-ll .fjii 'uL-JI IJl<J ^i-Jlj
Y-«
AUrfill JJ* J*i&a ^b>i
JUI
02S20/90 In voice number .
L^ierK. mmmmmmmmmm t^asrcfjiier .
l#iiilillJlBi£ireeJllill;i;lll£^
A-121
A-122
Shoe
Shirt
( V - \o )-jCi
J gr,fr7_. IJUbj ) »JUjj tfJJI «j»JI ^ JUSUj lij»j-» L3j fJiw-ll JiX; L.A1*,
( <- ) j-Ui- J*. iuLiJI 3JUJI »i* ^ aj£~j ( Ul ^ ^JLII .j*JI f-l o-
^liLo Jj. Jai-JI j^ LS" .>T «> ,Jj ajL^j .>JI fjj jl£* Jl %j>Ji o-3j-»
JUol OjS Jlio"Vl j-llL. Ja iuLail jl £~> .3uA~JI 2uL*JI ^ JuiuJ j-^ JlS-rtl
js* o?Ji ii«. of e-^ 1 ^~ ( pri ce ) ^*-Ji «y ji ( Qty ) *^J' i> u* i*'
J* Jai-iu -ott ( Invoice ) Tij^UJI J* oULj JUol ,>- f Jiii~ll t^j L-alcj
.( Part # ). jiJI fSjj u*UJI J>iJI 4>-JI J* U3!j jA^I jj^ u -^ J^ 3 ? 1 C 1 ^
( A - \0 ) JSLiJI ^ 11* ^aoj-.y fl.ijpUil «Jub i*U» Jirf jlf lij *J'j — '
E-b*)! f ji, ^ ( Invoice ) Sj^UJI .A* «Lt ^ ( Y ) jjis-ll «-^ Uji *J
^ v L>i lili l5 >I h^ **^ ^ o^ 'M r -»^— U J'J~ u*j*j S^ 1 e~<
«£• ( N ) X «-»l>I lilj .Jlu> »jjjIj ,o>j **iM\ o^i Iw* !jtpl* 0*0* ri ( Y )
Y-1
.nlarfjil Mm J**&9 fr^X
02&0/90
Clerk
Invoice number .-
Customer -
m
A 121
A-122
•CianilBill
Shoe
Shirt
Pi!iHt;:jtH!^i!^;i?;:!G^K5
ll l * M tl * fcW**M > fcfc****^^
( A - \0 ) J&i
(PSEUDOCODE) ajj^l oljLiJI *>\=S \ - r - No
J ZJj^l olji^JI ^Ltf pi, .( Pos.prg ) *i~-j ^ ( Point of sale )
.( Sales.dbf ) oU^JU ,_«L ,>- s^li ^ >T Jt Jj^JI ^
•t^ 1 **> **i^ ( Temporary File ) cJ> JL. „Lij| ^
u^y 1 Vji (^i *V iiLiJi J-* j^i>ji ^^j. lyi^sb ziU .^j^o ^
.J^-UII J| *Jl>*j ^ «j» J£J i^ aU j^o pi
.( Master.dbf ) ^^--ijl
- ^
- T
- r
- i
-
- "\
- V
- A
Y-V
juU^I Ma J-iAa &**„
.-UA> jtJj Jl>i7 j.O»«i-JI jjOtpO jt^J *>>j-« .^j* (iJj Jl>iJ JUL* - \
..> JSJ ^ujlj JuXll JU-il ^ -\ •
. JbJb. (Jj JU-il ^ ( jiu> ) "juJ JUil xj. - \ \
.(Total ) jlj^JI coo ^jtj oL-JJ JSJI yuJI vl~> ri -^
.( Temporary File ) c3>« «JL« ^ *S>JI u* ,^iu ^ -\r
.JUI <JiwiJI obLo ^yJ jk~J.I Jj j>Ijlc 0L3 j^j -M.
( Scrolling ) iiUJI I»>j ^ iiLiJI ^i Ja- >T Jl Jj-^l jclc ->o
Jl>i[ j-c- •j£ix~il uuji; ^^0. ijjljSliil juL>ji juiw ^ jij*i-,vi *^ -\*\
»jj_jLiLI JJUI j-x-JI ^^r* i^ii UUJI »I_* ^Jj .OLw*5fl
ju^j j,LS" lil l-x. ^jiki-JLI Jlj— ^js. pSj {$ ( Grand Total )
dUi Jx. .Ljj ^^>l »jjj!j Slt-LJ* jlj^j jLS" lil ^jltwlJI Jlj-» ^Sj -W
.rj>JI »j£o-JI ULk» ^ SjjIj^iFI Sil»JI _^«J
^^ ^ LT ( Database Files ) obLJI jLdp oUL. j^UI ^ -\A
.( Sales File ) oU-II Jl.
.( Temporary File ) c3jll «JUI £--. ^ -\^
.oU,,,.il y^Jl a^sisJl Jl ^#J\ ^ -v-
E-M
A£ r - r - \o
g-oUrf £* i>>jll g^jJI ^ >T OLJlS" i*JL»- £-.Urf Jl ^li~ L-JJ
dJJJj .oL^*All jjL. Ji" U*^- ^Ltf iJU ^ dUij ( DBase III + )
J^\ ^A\ f Ij^lJ f3 lil g-b^JI J** oU^-Ail jA- ^ f A£ J-^
ji^jdJ L* oU^"*!! jjk- CL-ii- j&j •( DBase III+ ) £-b* ^l^JI
Ua*>
^ £_ ^ o3Ull f l^J i^UJI £-1^11 £-> ,>- '"^V 1 -^
Y-A
.aUjill JU J#i&3 ^Aiyi
************** Pos.prg
* Point of sale data entry program for sales
* Called from Sales menu , SMenu.prg
* - Get last-used invoice number from the Sales file.
USE Sales
GOBOTT
Minvoice = Invoice_no
* Add new transactions to a temporary file
SET SAFETY OFF
COPY STRUCTURE TO Tempinv
* Open Master and temporary files
SELECT A
USE Master INDEX Master
SELECT B
USE Tempinv
SET RELATION TO part_no INTO Master
* Set pointer in temporary file
StartTrans = 1
* Set up loop for displaying invoice forms
Again = "Y"
DO WHILE Again = "Y"
* - - Set up top portion of invoice on the screen
CLEAR
Minvoice = Minvoice + 1
STORE SPACE (30) TO MClerk, MCust
Y^
.aUaxll JL. J^ifta g^i^
Mtotal =
@ 1,2 SAYT_Date
@ 1,30 SAY "Invoice number:" + STR(Minvoice,5)
@ 2,2 SAY "Clerk" GET MClerk
@ 2,35 SAY "Customer:" GET MCust
@ 3,0 SAY Uline
? "PART » Name", SPACE(20)
?? "Qty Price Total"
READ
* Set up loop for each item in the invoice
Row = 7
Adding = .T.
DO WHILE Adding
Partnumb = SPACE(5)
ok = .F.
* loop to check validity of part number
DO WHILE .NOT. ok
* Set up invoice memory variables.
Quantity = 0.00
SelJPrice = 0.00
* Ask for part number.
Partnumb = SPACE(5)
. @ Row,2 GET Partnumb
READ
* Make sure Part number exixts.
partnumb = UPPER(TRIM(Partnumb))
SELECT A
SEEK Partnumb
* Decide next step based on
* existance of part number.
DO CASE
xAm*A\ Jit J^iin ^«bjf
* No part number entered
CASE LEN(partnumb) =
ok = .T.
Adding = .F.
* Part number does not exist.
CASE .NOT. FOUNDO
@ Row, 10 SAY "No such part !!"
oK = .F.
* p ar t number exists
CASE FOUNDO
* Display Part name, get
* quantity and price
@ Row, 10 SAY Pname
@ Row,35 GET Quantity PICT ;
"999.99"
@ Row,40 GET Sel_Price PICT ;
"999.99"
READ
* If quantity is zero , loop
* Else , Display total.
IF Quantity =
LOOP
ESLE
@ Row,50 SAY Quantity * ;
Sel_Price PICT "##,###.##"
Mtotal = Mtotal + Quantity * ;
Sel_price
ok = .T.
ENDIF
* Add a blank record to the
* Tempinv file , and fill in
JMU44JI M* Jrf&fta £ibjj
* — the fields.
SELECT B
APPEND BLANK
REPLACE Date WITH TDate
REPLACE Clerk WITH M_Clerk
REPLACE Invoicejio WITH Minvoice
REPLACE Customer WITH MCust
REPLACE Partjio WITH Partnumb
REPLACE Qty WITH Quantity
REPLACE Price WITH Sel_Price
REPLACE Posted WITH .F.
ENDCASE .
ENDDO(continue loop for checking part number)
Row = Row + 1
* Scroll screen if reached end of screen.
IF Row > = 19
@24,1
7
Row = 19
ENDIF
ENDDO(while still adding items to invoice)
* Display grand total.and pause before next
_* invoice.
@ Row+2,40 SAY "Total:"
@ Row+2,50 SAY Mtotal VICTIM M#M"
Pinvoice = "Y"
@ 23,2 SAY "Print invoice ? (Y/N)" GET Pinvoice PICT "!"
READ
* Print invoice , Reset Start Trans.
IF Pinvoice = "Y"
SET PRINT ON
? "Date:" , T Date
Y\Y
juUtfiil Mm J^iAl ^«ll jj
? "Invoice number:" , STR(Minvoice,5)
? "Customer:" , MCust , SAPACE(20)
?? "Clerk:" , Mclerk
? Uline
?
SELECT B
GOTO StartTrans
LIST OFF WHILE .NOT. EOFO Part_no, ;
A -> Pname, Qty , Price, Qty * Price
?
?
? "Total:" , SPACE(34), Mtotal
EJECT
SET PRINT OFF
StartTrans = RECCOUNTO + 1
ENDIF
CLEAR
@ 23,2 SAY "Do another transaction? (Y/N)" ;
GET Again PICT"!"
READ
ENDDO(add invoices while user does not request exit)
* Close databases and update sales file.
CLOSE DATABASES
CLEAR
? "Updating transaction file , please wait ..."
SET TALK ON
USE SALES
APPEND FROM Tempinv
USETempinv
ZAP
USE Sales INDEX Sales
v\r
x-Urffil JU J*iAa ^jIj^
REINDEX
SET TALK OFF
CLOSE DATABASES
RETURN
Ou* ( Sales.dbf ) ol*JU ^JL» ^cj ^ ^ .^Uji-.b f l5 ^jJI ^-.l^JI p-,1
( Invoice_no ) »jjs\j ,.3, >T Jx. J^^JJ dUi, .ajl. j-^ ^i f ljiiii-l
j^k-JI JbU ,>* dLIi ^iy .( Minvoice ) ^Jd\ J> ^jj\ li* j^e
: UtJI
USE Sales
GOBOTT
Minvoice = Invoice_no
jj}ic ^ ( Tempinv.dbf ) cJjII <Jil\ ^ L&lJ p&jj ^jLJI «j*JIj
Ji^kM »Jui. ^ijjj ( Sales.dbf ) oLuJU <JL> Jl I4IX J-j Ijui^JI ^sljiJI
•jjL Zj^llail ^IjJJI JUoJ ,><• .LfwVI juuj .^-obj— II 'kj:tI J^-i" I*j—
j-o'VI .1.1.^ J U* -k>}ly .OlxJI ijJu Jl j-jIjjUI «i* 3JU»L g^aljjjl
cjjll Olll ^ oLuJLI ^L. J*L* £~J -pi j*. ( SET SAFETY OFF )
SET SAFETY OFF
COPY STRUCTURE TO Tempinv
j!,Ll- ^ ^^1 cjUIIj CJjil Olll £S *Wi- ,>* f~! «SJUI .>Jlj
.( Part number ) «j»JI ^j, Ji* Jj; .Uj ^-iUI J»jj ^ ^ .iikiw J-^
jm-I J* Jj-^-JI ,> isUi Jbo JLdLu o-iUI w -LJI ol LT .^Jl «-»UI
m
jbUtffll -UU J*i£a «ub,H
.L^uj (Relation) 33*iUJI .Lulj
SELECT A
USE Master INDEX Master
SELECT B
USE Tempinv
SET RELATION TO part_no INTO Master
ijL-j ^ui j-»<-Ji ,iJj g-«iJjJi Ojm ji v**« j^ 3 '^' i*LJ» ajuij
( 1 ) ^all »jUi*lj ( StartTrans ) »/IJJI jJs* .Lul ^ liUJJ .*^LL
StartTrans = 1
j^jIjjUI 1)Li')I *-i>'j-^J i^> Cfi*^ 3 *-W->- o-« («-^ t^Lr" 'J-t-IIj
US' Z5UJI fci* ,y f&>£}\ ^ ( Again ) j-*dl ^ Ln=J p^, ( Invoices )
J| Jl&yyi XL*. j>l^ ( Minvoice ) ^*ill S--3 IjLj Ii)i»JI JiU ^ ^
ijujb. ijpli J£J (MCust) j-idlj (MClerk) ^1 «UjI ^ L*
: LJUI jA-J' J^- ,>• ^J Ji^ ^i^ 1 jA-J'
* Set up loop for displaying invoice forms
Again = "Y"
DO WHILE Again = "Y"
* - - Set up top portion of invoice on the screen
CLEAR
Minvoice = Minvoice + 1
STORE SPACE (30) TO Mclerk, MCust
Mtotal =
@ 1,2 SAY TDate
@ 1,30 SAY "Invoice number:" + STR(Minvoice,5)
•aUtffJI -*k JrfiAa #***
@ 2,2 SAY "Clerk" GET MClerk
@ 2,35 SAY "Customer:" GET MCust
@3,0 SAYUline
? "PART # name", SPACE(20)
?? "Qty Price Total"
READ
^^ fj-jj .ilUJI »JL* ^ (X-cU ( Adding ) j^Jcil . U;J ^ .ij^UH
t ^> Lylj&JI iiUII >L-3j .iiUJI Jt ( 7 ) ,J, jkJI ^ Jjil oLl^^I
.( Part number ) <>» ^j, JUjI ov J^?' ^1^ Jx. r o^Jll J**^,
.aJLjJI aJm> £J»jj JJUI jjk^J\j
Row = 7
Adding = .T.
DO WHILE Adding
dUlfj ( Partnumb ) J^IUI j*juj» « Lul ju; liUij »jAi~il aI^jl. ^JUI
IJla .Lkt[ ^ .Lyl^l iiUJI ^ jjUdJ ( ok ) .yikJU ^1 «LUl
.JjVI J^ »JL>-lj Zj* Ajj\^ci\ iiUJI JLjLj *i» ^fjf ( .F. ) i*-iW j^li
.ZJLjJI »JLft ft-3_jj iJUil jjf»...Hj
Partnumb = SPACE(5)
ok = .F.
DO WHILE .NOT. ok
&* JLcLil i~>£JI >i>^J ( Quantity ) «ji"IS ^^J^ *Ltil ^ L^"
jjia-JI J5U j^> aJi, .uIl^JI Ijla ><- csj?cS (SelPrice) jJd\j <Jc^ai\
: ZJUI
v>n
j^U^il JO. JrfiAa %Aiji
Quantity = 0.00
Sel_Price = 0.00
Cf ^j J *;..'«;* ilju-Vl &j>cl f+* L* Ju^ijJI J^hJi Huj f LiixJj
Jl ^1 Li* J^w pi; ^ ( Partnumb ) .^1 J ^J\ li* &£c ^
.( SEEK ) y*i\ *k-ljj *it *^*JI f^i j& ( Uppercase ) .^-J" o,>>.
Partnumb = SPACE(5)
@ Row,2 GET Partnumb
READ
Partnumb = UPPER(TRIM(Partnumb))
SELECT A
SEEK Partnumb
^ f ji^JI J>JL; U Jfc .Li jl^JI iUwl ATii ,>-. ^ ,>.UI «J*Jlj
JUil jji Jl>i"yi c^ J^ (.j^xJll ki.-a-j Loju*j .( Partnumb ) ^-idl
^ ( .F. ) i-JUIj ( ok ) j-iill j> ( .T. ) i~*JI &£c ^ «y> ,Jj J
ii »U*- dUi ji «i~» ajjI^SoJI iiUJI ^-» £j>JU iiUi> ( Adding ) j^d\
.LJLjJI (JL* Tt^jJ JLJlxJI jjja.ollj .rj^JJl Jbjrf .. I't i T „l l
DO CASE
CASE LEN(partnumb) =
ok = .T.
Adding = .F.
>JLkZuJll jjj&>5 <»~> «_illl u* $j>j-n jJc t'j> *Jj Jl^il *Zj LaJULCj
,y («F.) a-~aJI Oir^ lii^ 0^ '^ ^Li -^^ 'V 2Jj^»— U LoyUI tjlkcjj
J*Ai- ^ liUi j^Xjj .JLyb «j-o Ajjlj5cdl ISbJI JLJLj *Sj ^s* (ok) j^ll
: JJLJI jjkJI
Y\Y
-uUjtll JkU JrfAAa $JLtji
CASE .NOT. FOUNDO
@ Row, 10 SAY "No such part !!"
oK = .F.
2LJUI ,>* jU, pi ( Pname ) dc^\ ^1 Ji. Jc^\\ \x^ L-.UJI
: ajui jjLji jit ,>» dJi ^ .^Lji yu.j u1l-ji u* ,>, Ljuai
CASE FOUNDO '
* Display Part name, get
* quantity and price
@ Row, 10 SAY P_name
@ Row,35 GET Quantity PICT "999.99"
@ Row,40 GET Sel_Price PICT "999.99"
READ
olj&JI iJUJI JLjia «UI UJ «>hJI IJub J5U- ^ ^ L* .Ij^UU J5JI
dUij ( >L» ) *~SUJ f \»t,„II JU 4 { SJU ^ (LOOP) ^.Sl f l.iia-L
: XJUI jjkJI J^U. ^ dJi fi, .i-SUl ^UJI (Highlight)
IF Quantity =
LOOP
ESLE
@ Row,50 SAY Quantity * Sel_Price;
PICT "##,###.##"
Mtotal = Mtotal + Quantity * Sel_Price
ok = .T.
ENDIF
Y-VA
jAm^U Mm J*AA3 £Ai H
J*» &* dJij .( Tempinv ) cJjil odll ^ 5JLUII JjJfcJI Jl Villi
: JJUI j>-JI
SELECT B
APPEND BLANK
REPLACE Date WITH T_Date
REPLACE Clerk WITH M_Clerk
REPLACE Invoice_no WITH Minvoice
REPLACE Customer WITH MCust
REPLACE Partjio WITH Partnumb
REPLACE Qty WITH Quantity
REPLACE Price WITH Sel_Price
REPLACE Posted WITH .F.
ENDCASE
ENDDO(continue loop for checking part number)
oLjLj IjL&J j^I^j j^kJI alu. IaL} jl^U &j> ^jj JUI .jjJIj
( Scrolling ) SiLUI 3>j>j ^ iiUJI U4, Jl J>- > II jll*, .JUJI ■ ■•■ -"
J* >- >T Jl jJijJLI *jL>^i j^ jx. JJi fij, .Jx,V jlnIj >„, jIjUu^
fjj\ jll* (Row ) >-JI f3j c~J3 £» JJij A^i .^.i ^f LLS" ^3 iiUJI
: aJlji j^kJi j*> ,>- dJi ^ .( ^ )
Row = Row + 1
* Scroll screen if reached end of screen.
IF Row > = 19
@24,1
?
Row = 19
ENDIF
ENDDO(while still adding items to invoice)
^*-JI ^li^JI jOj*i ljj3\Jd\ »Jub ^i oLl^VI Jliol ,>* .L^a-yi jLLtj
f i ijjj\J}\ UL> ju^, ol^ lil f JiiaJU jL*y ijjsUUI a^J ( Total ) J£JI
m
^UtfjJI Mm JrfiAa $***
: XJLjJI u* ^jj 5JUI jjkjlj .^
@ Row+2,40 SAY "Total:"
@ Row +2,50 SAY Mtotal PICT "##,###.##"
Pinvoice = "Y"
@ 23,2 SAY "Print invoice ? (Y/N)" ;
GET Pinvoice PICT"!"
READ
^Ij Jul^S" |*^» *i LioUaJI J-Juij ~J ( Y ) >JiitI«AI *-^&» LoJULtj
Jl ( Record Pointer ) o}U~JI ^i>« liL^o ^ ^ ( Heading ) jjy£)l
^ a-3, 1 > i >w ,*3 ^Dl J*<-JI j*j ( Tempinv ) cJjll OUI ,y J^w JjT
jjuJI i->L«>j HjjjLUI ^ (_LuoJI obLj ,j^j-c |^iy .(StartTrans) ^-ssll
ijl^i ^ IJ&*, 4jUU j»>j JliJI vjL-sJI Jl JlErtl fi Oi^JI lifl J£JI
JJbJb- S^Lo i**** 3 p-i »j_pUII ^i tJL^fl JS" Jl>il ^« <lf^" XLfj .utUI
L.JUL* .JUJb. o^fU LtUJ j*f^ ( EJECT ) ^i\ f LlcL.L JuoUJI J*
C-Sjil ^illl ^ i^jU-JI iJbJ JlJI pJ^JI )>i >iw fJj .JJi f jii-JI JU^;
[jus ,JJ aJij .( StartTrans ) s/IJJI ^-ii- ,> ju-Ij IjlsIj ( Tempinv )
*jL *—L j;>I •jijjli JUjJ .JLklJLI Jbjj L.JLLC jj^l U* ^-0 iJUl tjjjUJI
.LJLJI ^i* g-bjj 2JUI j>-JIj •( Vendor ) >T
IF Pinvoice "Y"
SET PRINT ON
? "Date:" , T_Date
? "Invoice number:" , STR(Minvoice,5)
? "Customer:" , MCust , SPACE(20)
?? "Clerk:" , MClerk
?Uline
?
SELECT B
GOTO StartTrans
LIST OFF WHILE .NOT. EOF() Part_no, A — > P_name, ;
Qty , Price, Qty * Price
?
7
? "Total:" , SPACE(34), Mtotal
EJECT
SET PRINT OFF
StartTrans = RECCOUNT() + 1
ENDIF
lili .^jA j-jljj icU? 4jjj jl^ lal *jl>o-JI Jlj-» *^» JUI .>>JI ^j
*J U>w. ( Again ) j-*dl bj£± *-** *2^ lr* **"*^' ^^ & ^ »L»'
oU* ZJUJI fci» ^j (N) v>lC *ili £j>JI slj? HI Ui .( "Y" ) i~*JI
: jlJUJI j^LJI J5G- ^ dUi ^i>j .JtfUJI .Liu
CLEAR
@ 23,2 SAY "Do another transaction? (Y/N)" ;
GET Again PICT "!"
READ
ENDDO(add invoices while user does not request exit)
cJjil ^ilil ,y la^jll o^U-JI iJUL g-li^JI fJ JL JUI *&1\ ^j
j»jiy •u>o*^' , -*^ J> &■**** (»^j L*^ oU-JLI «_oJLo j>\ Jl ( Tempinv )
i-j^dl *>LJLI ^J^l cjjll ciUI ^i ^i^jll o^-JI ^^ UJ ^.li^JI
e-^ 1 J! «-r*J'j *>>^l ^UUI ^ jXtb ^-b^JI rJ Jb ^ .^ji\ Jj,
j^kJI JiU ^ viUi ^ .( SMenu.prg ) ol*~ll g-.^ J.-iiJ ^^1
: ZJLJI
CLOSE DATABASES
CLEAR
? "Updating transaction file , please wait ..."
SET TALK ON
USE SALES
APPEND FROM Tempinv
VV\
OiU^il Mm J j x i i - t ftdkjj
USE Tempinv
ZAP
USE Sales INDEX Sales
REINDEX
SET TALK OFF
CLOSE DATABASES
RETURN
\ JT^-juJI JL3-4 V - V - \6
i_-.-."l ! .- 1 J-LjjC &&•*£ u) .« Lr ^JI |_y3-»J l. t a, « .i i j "ajj-p jJUj 4Jp LiXJjJ x_u
^ UT j,*..J\ JLi-il !>ULo ,^^-j »i-> .«JL*C— JJ liiXiJI yJLkilj Oj^kll
JjjjcJI IJL* .I>>Vj .-jivi-il ikJ^ tsJsS &A Vjj (Invoice) £-JI »j>!l»
(Master.dbf) ^--i^l Oil I <y (Price) .j^JI ^ Ji> .iiL*l V,f f jL
« ^Jl Jm-Jj\, i"l n-tXmJjl i — NO
uaU J m ; ■*■" 2-JL5 j*» ( 2 ) *3jJI >Jk*w~LI jL^j Ujux g-aUjJI ll» Juiu> *Sj
ijjjtiJ l»l ^^jLaj itU? jl ^^ .jj..T-„JJ jcjj g-objJI IJi*j .( SMenu ) aLu-il
J-^J •( >^ £i>^ J! iJj ^-° jiJ^ i>* ii' ) »*•**-« IP* i$> oU-JI *fy»J jl oJ*u«
Sales Report Options 02/20/90 09:30:25
1. By invoice number
2. By dates
3. Return to sales menu
Enter choice ( 1 -3)
( \ - \6 ) J&A
rrr
juU^II -iLi J*Uo piijt
uiU-»Vl c.1
^yliJ £-1^ *-Jlj ,>* ( \ ) pJrll (OJCUJI jUiw L.JUL&J
: Jldl Jlj — tl jiki iiJi*-* »jy3li o* jiyB icLt jl j*yj
Look for what invoice number?
^UJI jjj^\ jiki ( Invoice number ) tjjjLJI ^j JU-aL f j&i-il ^ ji Uju*j
■"-""■"■""V'' ■:':'■"" xi-: '" "i" '""J.' -"s'M?$£&, tt~ -^X f" . Z:. : ^S ~ : -i - ■ :: :: ■:: ! V.-' v ~Mi\- J: -' :1 -:-■"- "- "-■- i
Invoice number : 1246
Clerk : Hassan
Date
Custom
Price
: 02/20790
er : D. Fathy
Total
Part #
Qty
Part name
AAA
BBB
l
10
Printer
Floppy disk
900
16
900
160
( \- - \0 ) J£i
»jli J5U- **JI 2^> OULj i^ja! I*SU)I ^a ( 2 ) »3^JI ..V.W.? J I jl^u LaJLLfrj
Enter start date : / /
Enter end date : / /
<tfr*u ,^1*<JI vir^" .rfkj ^iW--" ^i^J *i'"*"?J' P-iM pJ^— II i.«T^j LoJLLfrj
( \ \ - ^D ) JSLUL ^jlli" LuUJI J* jl iiLUI Jx. .jSAll a» Jfc. oU-ll
: ^tf dUij (MODIFY) ytil j\ (CREATE) ^\ f b^~L y J&\ .Lilj j^y
CREATE REPORT Sales
YYf
^U,»4I Mm JrfiAa ^Jj^
( NY - NO ) Ji^JL ^tf LUi^l oLy^w. 0^ _' >
J Page No.
02/20/90
': Date
l
Invoice
Sales Transactions
Sales Customer Part
person
Qty
Sale
Price
■i 02/01/90
f 02/10/90
1243
1360
Magdy
Medhat
Salem
Shawky
SAF
LAM
20
10
700
500
■:\- :;.rU^-P"="="-JL-:!:^.I:-T:7SL---i:.= : -- ! : ^:-;. - -=i.
1 AA^^ir-
:^)i^gi-\.:i<u
\ TOTAL
1200
( W - \0 ) jXi
j Column
Width
Decimals
■ana"
Contents
Date
Heading
Total I
1
Date
9
2
Invoice no
Invoice
7
3
Clerk
Salesperson
14
■
4
Customer
Customer
14
5
Part_.no
Part
6
6
Qty
Qty
5
N
7
Cost
Sale Price
10
Y
>:": ; :"' : " : " .-"-»:-:---"-:-:■:-"-:■:■.-:-:-:-:-:-:-"-:-■-:-
( U - \o ) JSLi
^LE g-ol^rJ 3-^^JI J-UJjJI _Li _Liu^l ,>-_, LJ
II* ^^ ^ .uj^ ^ill jj^~JI _>: ,>«. j.j_x__1I Jlj_i ^ ( Salreps.prg )
£*\ijJ\ li*J ZJjVl ol^iwJIj .i^UJI J* a_*U, ji I_-L_ll J_i jijZM
YYfc
.( Master.dbf ) ^Jl ^iUlj ( Sales.dbf ) oUJU ^iL. £=i ^ -
.(Sales.dbf)
.AjL$JI jjjljj IjI-JlJI TlJjb
jllll
.( Sales.frm )
oLuJI £-«L^J i-u-ijJI I-JUJI JJ g^^JI ^ ,L«3*I jli£ -\Y
.( SMenu.prg )
^.L^JI ^Isf v - i - No
: JJUI jjJLJI &j> ^jJI jj^Us £*\jj> &£zj
************ SalReps.prg
* Print reports from the sales file
* Called from sales, menu, SMenu.prg
* Open files andset up relationship.
SELECT 1
USE Sales
SELECT 2
VYo
-<Utf>ll _uu J^i&a jubj*
USE Master INDEX Master
SELECT 1
SET RELATION TO Part_no INTO Master
Repchoice =
* Start loop for menu
DO WHILE Repchoice ft 3
CLEAR
@ 2, 1 SAY "Sales Report Options"
@ 2,60 SAY DTOC(T_Date) + " " + TIME()
@3,0 SAYUline
?
?
TEXT
1. By invoice number
2. By dates
3. Return to Sales menu
ENDTEXT
@ 24,1 SAY "Enter choice(l-3)" ;
GET Repchoice PICT "9" RANGE 1,3
READ
* ip no t exiting , ask about printer.
@5,0 CLEAR
STORE" " TO YN, Printer
IF Repchoice # 3
@ 15,5 SAY "Send to printer " GET YN PICT "!'
READ
* Set up printer macro
IF YN = "Y"
Printer = "TO PRINT"
ENDIF
YY1
juU^II JX, JrfiAa £«b>*
ENDIF
* — Print appropriate report based on request.
@5,0 CLEAR
DO CASE
* Case 1 : Search by invoice number.
CASE Repchoice = 1
@15,5
INPUT "Look for what invoice?" TO Isearch
CLEAR
LOCATE FOR invoiceno = Isearch
* If found , print invoice.
IF FOUNDO
IF YN = "Y"
SET PRINT ON
ENDIF
* - - Print header from first record
* with that invoice number.
? "Invoice number : " , Invoiceno
?? "Date:" , Date
? "Clerk:", Clerk, "Customer:", Customer
?
? "Part # Part name Qty Price Total "
* Print data for all records with
* — that invoice number.
LIST OFF WHILE Invoice_no = Isearch ;
Part_no,B->P_name, Qty , Price , ;
(Qty * Price)
IF YN = "N"
EJECT
SET PRINT OFF
YYV
xJm&O -U* J jiJn ^jb^
ENDIF
ENDIF(found)
* Case 2 : Search by dates
CASE Repchoice = 2
STORE SPACE(8) TO Start , End
@ 15,5 SAY "Enter start date" GET Start ;
PICT " 99/99/99"
@ 17,5 SAY "Enter end date" ;
GET End PICT ,, 99/99/99"
READ
Start = CTOD(Start)
End = CTOD(End)
CLEAR
* Print the report.
REPORT FORM Sales FOR Date > = Start .AND.;
Date < = End & Printer
ENDCASE
* IF not going to printer, Pause the screen
IF YN # "Y" .AND. Repchoice #3
?
?
WAIT "Press any key to return to the reports menu"
ENDIF
ENDDO(while user does not request to exit)
* When done return to sales menu
SET RELATION TO
CLOSE DATABASES
RETURN
YU
( Salreps.prg ) g-.^! ,—L iU*ltf Iju, ^-b^JI ^ J^l *j*JIj
^.jMi £i dJij .ou. ^^fill £^ oj-4 **•=* ri ( Sales.dbf ) oU-JI
.( Date ) jtyLJI J ( Ivoice number ) lj>;UII ,Pj J* xjm jjjUs ItU*
i>Uil jji v ^' vaVN* iJy oA ^' # • jUij ^M &t-> ; -»> ,UJI
^^1 villi jtxi f ;L IjjSUJI ,> Lii-JI (*-! JUiV, .^-^ill r LU=J JJ
.oL>JJI »i* jtij- SJUJI j^LJIj .ol*-JI uiL; aIijjj ( Master.dbf )
*************** SalReDS.prg
* Called from sales menu , SMenu.prg
* Open files and set up relationship.
SELECT 1
USE Sales
SELECT 2
USE Master INDEX Master
SELECT 1
SET RELATION TO Part_no INTO Master
: olji»JI fci* jt-i>J IJUI jjii-Jlj .( Repchoice ) 5/1111
Repchoice =
* Start loop for menu
DO WHILE Repchoice # 3
CLEAR
@2,1 SAY "Sales Report Options"
@ 2,60 SAY DTOC(T_Date) + " " + TIMEO
@3,0 SAYUline
?
Yv^
■eiUrffll Mm Jii&t £«bjf
?
TEXT
1. By invoice number
2. By dates
3. Return to Sales menu
ENDTEXT
@ 24,1 SAY "Enter choice(l-3) H ;
GET Repchoice PICT "9" RANGE 1,3
READ
i~DI JUilj ( Printer ) Villi ^jcj. .Ltil ^^ iJLJI .>»Jlj
JJj juu i^UJI J~i-iiJ j/LT 4^ljLk=«^ ^Jdll li» ,> ( TO PRINT )
dJS ^ .£j>U 3u5LUI ^ ( 3 ) fSjJ f J^«i-Jll jUSl f jl* iJl» ,y dUij
: JJUI jykJI J*. &>
* IF not exiting , ask about printer.
@ 5,0 CLEAR
STORE" " TO YN, Printer
IF Repchoice # 3
@ 15,5 SAY "Send to printer " GET YN PICT "!"
READ
* Set up printer macro
IF YN = "Y"
Printer = "TO PRINT"
ENDIF
ENDIF
^i^l i*U> J> ( DO CASE ) jA\ j.ljLJ^-1 J^ey* £>\J\ ..fcJIj
ijtpUJI (Jj Jx .Lj I^UJI r J^-il ilj lili .(.J^-ll jL^-l «r— > ^j^'
Y f.
xA^aU Mm JrfiAa pfojj
( Heading ) j±fil\ at* 1 * c^j-v g^^' r**i J^r»— J' '-i* jh'j •|*Jj-" '■*■*
J-**II p— lj ( Clerk ) £-JI iJL*j ^UJI utbjli ^J J-c ^>^«j ^111
ijLJIj ( LIST ) ^Vl (.jlJw-j ^ .£*JI ^jbj ( Customer ) ^^lill
(Jj ,> djZX ^1 oX^-JI £t *> oLL, ULt jl ^»^J ( WHILE )
: JLLjJI (Jl* 7tJ»>> 5-JUI jj.,h Hj .IjjJliJI
* Print appropriate report based on request.
@5,0 CLEAR
DO CASE
* Case 1 : Search by invoice number.
CASE Repchoice = 1
@ 15,5
INPUT "Look for what invoice ? " TO Isearch
CLEAR
LOCATE FOR invoiceno = Isearch
* If found , print invoice.
IF FOUNDO
" IF YN = "Y"
SET PRINT ON
ENDIF
* Print header from first record
* with that invoice number.
? "Invoice number : " , Invoiceno
?? "Date:" , Date
? "Clerk:" , Clerk, "Customer:" , Customer
?
? "Part # Part name Qty Price Total "
* — Print data for all records with that
* - invoice number.
LIST OFF WHILE Invoicejio = Isearch ;
Part_no,B->P_name, Qty , Price , (Qty * Price)
YH
-«U*« JL. JrfiAa ^^
IF YN = "N"
EJECT
SET PRINT OFF
ENDIF
ENDIF(found)
,jlJc~1I iJU* 3JU jji jjjiJI ^Lj J^j*- *^> J-* f^ u*''*^' 'J^'j
,^& ubjJI JL-j ZJUJI fcAA ,_,*} ■ !• >> * ■ » tj^ JDti" C»J ^1 CjLh-JL IjjyC
jjjiJI - tJ j^> ^jlJo-j ^ ( End ) iiUJI jtjjbj ( Start ) 3L,LJI juyb
: SJUI jjk-JI Jjli- ,>. aUi ^ .UjLiJl j-. ,^JI ( Sales.frm )
* Case 2 : Search by dates
CASE Repchoice = 2
STORE SPACE(8) TO Start , End
@ 15,5 SAY "Enter start date" GET Start ;
PICT " 99/99/99"
@ 17,5 SAY "Enter end date" ;
GET End PICT "99/99/99"
READ
Start = CTOD(Start)
End = CTOD(End)
CLEAR
* Print the report.
REPORT FORM Sales FOR Date > = Start .AND. ;
Date < = End & Printer
ENDCASE
L^ju ^1 i-i^JI ijj-^l a- C^^ 1 ^^ ^^ ^ *****
dJij U*- J-UJI ^-b^JI j-jk^; ^1 3-^yUI Ij^l Jl r ^C-il
.( CTOD ) SJIjJI f IJLJw-,U
vrr
aJUixU Ma J*>Aa pkiji
yi > ir* ( Pause ) U**J J-iLJI »JU] J^> ^ ^ ^jUI .^Jlj
: *JLJI jjLj\
* IF not going to printer, Pause the screen
IF YN # "Y" .AND. Repchoice # 3
?
7
WAIT "Press any key to return to the reports ;
menu"
ENDIF
l>j&\ oliUI £U\j hJJ±)\ iiUJI .1^1 J^i. ^ ^ ^LJI .j^JIj
JAi ,>-. dUi p^y .( SMenu.prg ) .Uxl-^L ^Ull ^-b^JI Jl Ji^JI ^
ENDDO(while user does not request to exit)
* When done return to sales menu
SET RELATION TO
CLOSE DATABASES
RETURN
YVT
attsUI M* J*AAa fl**
jAc fjiialutll Jt-iill
2*\Xt\ t*I* J.tml &»bji
vr«
iSUalil JU J**Aa $tli*j
oUU J~»wj ^A^-i ( Inventory ) ojUII g-«l^ ,>-* •>?* >* £r°^rJ' '-^*
j.j^JII jLSu LojuLfr g^l^JI IJu> J-J«w ,*^j .tjLijI j-—. jDI ( Newstock.dbf )
.( \ ~ U ) jHjJI >l .jjUJI ^U^J V^^ 1 ***l*" 0-* ( 3 ) fij jUsVI
Inventory system main menu 02/20/90
1.. Manage master inventory
2. Record sales
3. Record new stock
4. Exit
Enter choice [J
\ - \\ ) J£a
New stock system menu 02/20/90 08:30:45
■g«ftW:V>:^iaM^^^^^
1. Record new items
2. Print new stock data
3. Edit new stock data
4. Exit
Enter choice (1-4)
r - n ) jsis
£~>«tf j 1 ^Lc *^LJ» ji (Transaction ) «juj^. tf^-ijl^j -i *?....,ii »^xj LjUJI
vrv
rtL&VI Mm Jj-a- fAlyi
gjbjJI v-^j
N - \1
_,LjSI ,> .Uy .^>Vl A5-5LJI ^.yi J-*i3 ^i f5UoIL (.jjy tfJJI ( NMenu.prg )
SjLi»L j.JLiw-JJ ^— j ^JLJI ( NewStock.prg ) g-«lJ^JI Jl ^jiiJI ^ pA*i-il
gjt. ^Ul ( NewReps.prg ) j^-b^-JI Jl ^JLJI ^ J\ .LujljJI ,JU-»Vl oU-j
^1 oLjLj JjJlo £— . j ^ill ( NewEdit.prg ) g-^jJ' J! Z/^ r^ -»' vi^'
p-ob^JJ ,^^1 yuS^/JI ft»i»ji Jf ' j£-2J(j
JE
NewStock.
From IMenu.prg
NMenu.prg
Present the menu of options
for managing items records
Add new transactions
I
?£nk reports frbin (hie:
ijNe^t^dMl;:
NewEdit.prg
Edit the NewStock
database file
{ r - \*\ ) JSLi
( NMenu.prg ) iiL>>l a*5U ^.b* r - \i
************** NMenu.prg
m
ttlayi Jli JrfiAa ^.bj^
* Menu for managing New Stock portion of Inventory
* system . Called from Inventory System main menu.
* Set up loop form presenting menu.
Nchoice =
DO WHILE NChoice # 4
CLEAR
@ 2,1 SAY "New Stock System menu"
@ 2,60 SAY DTOC(T_Date) + " " + TIME()
@3,0 SAYUline
7
7
TEXT
1. Record new items
2. Print new stock reports
3. Edit new stock data
4. Return to main menu
ENDTEXT
@ 24,1 SAY "Enter choice(l-4)" GET Nchoice PICT "9" RANGE 1,4
READ
* Branch to appropriate program.
DO CASE
CASE Nchoice = 1
DO NewStock •
CASE Nchoice = 2
DO NewReps
CASE Nchoice = 3
DO NewEdit
ENDCASE
ENDDO(while Nchoice # 4)
* Return to main menu
RETURN
aaUaVl M* Jj- A " ^4i^
( Newstock.prg ) JU^I obL JUJ gtls* r - V\
2L-5UJI g^U* oP *J^\ i-iL5 o- ( 1 ) r*^' f J^-ll jU*w U.U*
pi 3JL*JI a* J>j .^LiiJ ( NewStock.prg ) ^l^JI Jl JJ£l» ( NMenu.prg )
: fj&T...JJ aJUI UL.^1 jfkfj ZiLJI £«*»
Enter data for goods received
Part number :-
jL^>jiH jliLLcJ £* «j*JI II* jj^j ^jLt 4J jt_i>jj JJLij ^fk; ^ ( Beep ) JjLL^
: jN\S dJS, .iJli »^ iJjUJLI
Enter data for goods received
Part number :- : No such part !!!
t-L^.&.ji U&Jj »JLjJl> j»L3jIj i_JLl^>I < i ynfi «-oLjj_JI IJL* jl aJu-^La V^iJ
«_oLjj_JI (jAt^-c IJL*j .oULjJI SjlcLj j^J L^oUjI ojj>-j^> «JLl^>I ^_a oL-*^
.(Master.dbf ) IS —?J\ ^Jlll Jc*-ij £*Ioj ^ ^jl^JII ( Addnumbs.prg )
Jx. «j*JI IJL* *— il J*j*i £-»lJ>JI »ji *j>y «j> *JjJ »Jj»iJll Jl>i| •A^-t>
^SLJI ^ ( J^l r W £i> b ) «■*■■"» IJ^* JL5-iI ^jb Jl JJL^L SJbLUI
^ wJLL; (^ i>UJI »_~-> ( Vendor ) ^sUI p— I Jjjlo J ^ U .( Vendor )
: ,jjW dJij ..Ij-iJI jju-j »J:.^JI Laa j-« SjjIjJI <L»£JI J^ ^JpwJI
Enter data for goods received
Part number A-122 Shirt
Quantity : - Price:
Date 02/20/90 Vendor : Hasan
. };,^ll ^ jLu ^b^JI jli SJUJI Jy*JI ^ oULJI JU-il 0- *Lp7' -^J
tiUaUl -U« Jrfiia g-ibj-
.iJli \y> SiLi/yi i*Jl5 Jl ^>>J JU-jVI ^Li.
( PSEUDOCODE ) XJ,</I oljliJI ibf i - V\
.( NewStock.dbf ) «U>?I UL.., ( Master.dbf ) ^^1 ^iUI jci ^ - \
.•juotJI oL^^I oULj J : -w„.,tI *jj\£z i*l> jj>So *Ij - Y
j^-wJjJI ,-illl ^ .j*JI li* J.C li^JL g-bjJI ^ e ^l jjj JUil jll* - r
. .(Master.dbf)
.JLjJLj- fjj Jl>ilf *J ^L-Jlj f&lJLI jjj^w |»li .j*JI jjj J* j>UI -JLC. JLLC - i
•JjljJI A~»£JI ^ ^J&lJM Jlj-j *^Lj ^j* ^i; «>»JI jtJj J-fc j>£*JI JLLfc -
.£j>JI f J^JU yik; ^ oL-,Vl JUol ^ jl>L^I (O; " 1
*************** NewStock Dre
* Data entry program for goods received
* Called from New Stock, NMenu.prg
SELECT A
USE Master INDEX Master
SELECT B
USE NewStock INDEX NewStock
SELECT A
* Set up loop for recording goods received.
Partriumb = "x"
DO WHILE Partnumb # " "
@ 5,0 CLEAR
Partnumb = SPACE(5)
Y£>
ULoUl JJU J^iAa pAljf
@ 10,2 SAY "Enter data for goods received"
@ 12,4 SAY "Partnumber" GET Partnumb
READ
* - If a part number was entered , find it in
* - Master file
IF Partnumb # " "
SEEK Partnumb
DO CASE
*
* If part not found, warn user and
* try again
CASE .NOT. FOUND0
@ 12,23 SAY "No such part !!!"
? CHR(7)
* - If found Append a new record to
* - NewStock .dbf, and get
* - rest of data.
CASE FOTJND0
@ 12,25 SAY Pname
SELECT B
APPEND BLANK
REPLACE Part_no WITH Partnumb
REPLACE Date WITH T_Date
REPLACE Vendor WITH A -> Vendor
@ 14,2 SAY "Quantity" GET Qty
@ 14,22 SAY "Price" GET COST PICT "99999.99"
@ 16,2 SAY "Date" GET Date PICT "99/99/99"
@ 16,22 SAY "Vendor" GET Vendor
READ
SELECT A
ENDCASE
ENDIF(Partnumb# " ")
ENDDO(While user does not want to quit)
UY
ttl*yi Ma Jrfiia ^Aiji
* Close files and return to New Stock
* menu.
CLOSE DATABASES
RETURN
fij jU^i! ( Master.dbf ) .j-^JI «-«ill £iL fJ i. g-Li^JI o- Jb^l 0*JL»
oUL, (>i ^ ( NewStock.dbf ) *iU,yi ^iL. ^ ^ L5" . JUoj ^ ^JJI «>>JI
: iJUl jjk~J\ J^> ^ ctUi ,»^y .»jujl>JI uiLl^VI
SELECT A
USE Master INDEX Master
SELECT B
USE NewStock INDEX NewStock
SELECT A
: ZJUI
Partnumb = "x"
DO WHILE Partnumb # " "
@ 5,0 CLEAR
Partnumb = SPACE(5)
@ 10,2 SAY "Enter data for goods received"
@ 12,4 SAY "Partnumber" GET Partnumb
READ
: SJUI jjkJI S&-
IF Partnumb # " "
SEEK Partnumb
vtr
sabbVI JkL. JrfiiJ ^b^.
: UUJI jjkJI Jjfc. ,>- dUij
DO CASE
CASE .NOT. FOUND()
@ 12,23 SAY "No such part !!!"
? CHR(7)
oiLo SjL^j ,_P Jl> Jj^— » 3JLi»J ^ L5" .a>>_>-* ^j^J j,j&^JI Jl>iJ JJU- ,y liUij
oUU « J- ^ LT .jlJ ?jua*JI obLJI JUil ^ j± ( NewStock.dbf ) *iU»VI
^ «jUI ,»-,[j j^'j *— ^" Cr* f-i^-il Jlj-j Ui J^-J' p-U Cy^'j '-* i "* ,l (*5j
: JULJI jjkJI J^p- ,>» idJi pJj .JUJb. «_iL-? JUo? j~f*ill ^ ^ *-«* 3 ^
CASE FOUNDO
@ 12,25 SAY P_riame
SELECT B
APPEND BLANK
REPLACE Part_no WITH Partnumb
REPLACE Date WITH T_Date
REPLACE Vendor WITH A - > Vendor
@ 14,2 SAY "Quantity" GET Qty
@ 14,22 SAY "Price" GET COST PICT "99999.99"
@ 16,2 SAY "Date" GET Date PICT "99/99/99"
@ 16,22 SAY "Vendor" GET Vendor
READ
SELECT A
: ajuii j>ji J*- > ajij .siu,vi uu
ENDCASE
ENDIF(Partnumb# " ")
ENDDO(While user does not ask to quit)
CLOSE DATABASES
RETURN
UU#l Mm J^i&a ^Ai*
( NewReps.prg ) 5-»L>>l >-i>l23 g-U* n - \i
«Li jj^Ll; <j^0 ,jj iJuL>JI oLuohll oULj i*>lj-j .ji*~„.U uU^JI IJu>> ?*- , ■
J> ^i ji>HJI »Ju* JLdbj .Ijjuw ijuj »>a JjU ji ( Part number ) «>;JI ^ J*
,>* UJJI oULJL j»j»iljL.I ji> ,>*• ( Vendors ) j^M' £* ^3 -*j olj^ ^i
Jail .Aili^l *»ll3 J-. ( 2 ) fjj\ pJliilJU jliiw L.JUX. ^•b^JI lifc J-*Jtj pi,
-( 1 - U ) J5LUI
-T..-"'-"f-a'TO.-AA>JIH.,-.- J .-.-o.^.W.^IHll»-JW^M»!
New Stock Sy stem Menu 02/20/90 02:2045
1. Record new items
2. Print new stock data J :
/.'■-: 3. Edit new stock data
4. Return to main menu
Enter choice ( 1 -4 )
•iiliJI Jx 3LJUI iuiUIl ^3 ilUJI »Ju» ^i
1. By part number
2. By dates
3. Return to New Stock menu
ji^JI isU, tjjllJI itf lil Up >T Jl> ^ ( 1 ) ^JJ f j^JI jLjSI Ji*j
• uii-JI IV iiU,?l *S> £^5 yJS j&j ^J\ \Xf) f ^oJ[| Utf JULCJ .*J jjytJI
ru
*3L*¥! JL. J#"* £**
: jft\S LlfJI jujbj UUI gyb
Enter start date : / /
Enter end date : / /
( -\ - \1 ) JSLiJI j ( - n ) JS^JI >l
Page No 1
Inventory Items Received
02/20/90
"l"*"!'!'' J"*' 1 "™!
*^.>„...* J.jj...7*......JSfc.\...A.
sv»\ ...a . . . v ,'!, .,,....„. ,1T^,,..
Part
Name
A-122
A-122
Part
Shirt
Shirt
Qty
20
35
Purchase
Price
500
750
Date
02/20/90
02/01/90
Vendor Name
Hasan
Salem
( o - U )JSLJI
Page No 1
Inventory Items Received
02/20/90
Part
Name
A-122
A-122
A-121
Part
Shirt
Shirt
Shoes
Qty
30
20
20
Purchase
Price
750
500
500
Date
02/01/90
02/20/90
02/25/90
v**.**.* j:..
Vendor Name
Hasan
Salem
Hytham
( -\ - \1 ) JSLi
m
UL*yi -U. Jji&a ^jb^
Jx «Lj ji ,j»JI ,^5j Jx .Uj j-y^l <~U> ill> ,y lf«h»wJj ji^tJJ ••*>!.» »jj-o
.( MODIFY ) ^.Vl ji ( CREATE ) ^i\ f IJL^«L JJi ^ .Ijjuu. 3-uj ^
ijUtfj ( NewStock.dbf ) «U»")II oUl. ^ oLL; &-& $ v~ jiy^ 1 J <~>j
,_iL. ^ jiytJI .UjI ju* f ^L dJJJ . ( Master.dbf ) lS ^>J\ oUll ^ oUL,
: 3JUI ^.l/fl S&- o- «iUi ri» -W~- -Mj ^-^ l *JW «*Uj*j ^^V 1
CLEAR ALL
SELECT 1
USE NewStock
SELECT 2
USE Master INDEX Master
SELECT 1
SET RELATION TO Partjio INTO Master
MODIFY REPORT NewStock
IjLu J-5 ( Dot Prompt ) iLiJI J^-l* &* < r ^&> j-*!/" 5 "
HA*
jL^i?^ JL>i{ *-^ ^y^l <LtjL JL=>UJI j Mil .nil j-frkj LoJLLcj
: JUI JSLUI ,>- ^k. Li" ( Columns )
amja^jaaa;!fejwavjE«t^
Column
aiiSffSffifffiE ■^Maiaagiais^Baasgjj^jF
1
2
3
4
5
6
Contents
Part_no
B— >P_name
Qty
Cost
Date
Vendor
^■mmmm&m>gmzi
iZ^ii^iZ.^,
Heading
J^Jn&iMtm&iSMi
Part 6
Part Name 15
Qty 4
Purchase price 12
Date 8
Vendor 25
( V - U ) JSLi
Width
h^^M&v^mamiUMt
Decimals
y^rnm^^ wp&®®&&
2
2
Total
N
N
Y£V
ur - t j J JI ._ilil ,>. «^>JI ^l J_c Jj^pJJ ( B -> Pname ) a,L* L> J^/jLy
.( Master.dbf )
g-Li^JI 3-jbf V - Nl
Jwi g^lJ^JI :l,L£j L* ^i^SL. oj-j ( Sales.dbf ) oU-JI oUL.j ( Master.dbf)
j^k-JI ,>* j^ g^t^Jlj .L^ ould SiUJI ^LfcJI £A\ ym Jl £^1 j^,
: LJUI
* Print reports from the NewStock file
* Called from NewStock menu, NMenu.prg .
* Open NewStock and Master databases.
SELECT 1
USE NewStock
SELECT 2
USE Master INDEX Master
* Set up relationship.
SELECT 1
SET RELATION TO Part_no INTO Master
* Start loop for menu
Repchoice =
DO WHILE Repchoice # 3
CLEAR
@ 2,1 SAY "New Stock Report options"
@ 2,60 SAY DTOC(T_Date) + " " + TIME()
@3,0 SAYUline
- ? -
n
T£A
aaUaitl Mm J#L&3 £*\i*i
TEXT
1. By part number
2. By dates
3. Return to New Stock menu
ENDTXT
@ 24,1 SAY "Enter choice(l-3)" ;
GET Repchoice PICT "9"
READ
* If not exiting , ask about printer.
@3,0 CLEAR
STORE" " TO YN, Printer
IF Repchoice ft 3
@ 15,5 SAY "Send to printer?" GET YN PICT "!"
READ
* Set up printer macro.
IF YN = "Y"
Printer = "TO PRINT"
ENDIF
ENDIF
*
If not going to pritner, pause the
* screen.
IF YN # "Y" .AND. Repchoice # 3
?
?
WAIT "Press any key to return to the Repchoice menu"
ENDIF
ENDDO (while user does not request to exit)
* "- - when done , return to New Stock menu
tlS
aa*yi Mm jrfiita &&#
SET RELATION TO
CLOSE DATABASES
RETURN
Vo
.sjtttfiM .iuJaap £* b .W
gjUl) Jj=mAJI
Yo>
viUI ^ fS^dJ jjlidl r Uu o- i~--Jj .lj»i *£AJ .Uil pJ iiUII Jj-xiJI ,>
LiL^yi iOJUj ( Sales.dbf ) <i»L*~ll .j-L, ( Master.dbf ) ^^--w^JI
^i Jl« ^JJIj r lkJU J*SUI £»0,JI .liil pi J— **JI IJL» ^j .( NewStock.dbf )
tr „ 4 i v JI Olll oUL-J ( Updating ) ^jl»w f> i £-»L>JI IJL*, .*_j .>>
<JJl.j (Sales.dbf ) oU-JI ^L. ^i iij^ 11 obLJI J-t «Lo ( Master.dbf)
»jiL. J_»xo g-»L^ «Li;l ^ LaJ J-aill li* ^j .( NewStock.dbf) *jU»"i/l
.XjL>VI «_«L« Jj-uj p~»bjjj oUJil
( Master.dbf ) ^--^1 ojIII »i- j^u £.b>. \ - \v
oL*£JI ^ oU-JU <_iU ^P iijjj-jil «JLw»Vl oL^ (t-a*y x-tlj^JI IJl* »jJu
<JL~*jI oL*i" iiUsL »jij L^ .jul« *-JI *j ow> JiU l _ F >~Jij}\ «_AJUI ^j Ji^>jll
oL*£JI ^j> oLbVI (_iL« ^j o>>jil £>L*£JI p-d£y LcjjI p-olj^JI IJLft »jJUj
l»j oLlJSM »jla J ^> ^,--1^1 i_*UI ,ji ( On_order ) vJLLII cx*3 Ji> ^ »i>>jll
y«-JL ( Purchase Price ) .JLl^SN »J^J .l^iil yL. Jjjuxj (.ji L^ .J*ilL l^jU»l
-jJj Ij-^lj .v-i l-a l) ^ju» it>-L>l j^ju v » ... II IJL* jl i^*.j> JLJL&^H >_iLL> ,_» Sj^j-jJll
...via-il Jtf^JI uiLo ,_j3 ij>>H ^jj^J'j oULJD ujimj j>T kp\j J^*-^ F-^^J'
-yi JuiUII ^ ( 4 ) ^l {JSclA\ jL^u L.JLU. ^Ij^JI IJla J-JutJ *iy
( v'- \v ) JS^JI >l .(Master.dbf) ^Jl Jill J-*i3 ^b^J
Manage Master Inventroy 02/20/90
l \ - W ) j£i
.(PSEUDOCODE) 3J,Sl ol>*JI U* ■*»' ^ g^U^JI U* *,\&j
( PSEUDOCODE ) *j/t\ ol>lwJI *l=f N - \ - W
•^ *1jJ&ij lSj^ t*-*^^' t -*^' o' p**£«-*U £-*»>? <UL»j ^^ |»^J ~ V
.jo ^UJI irofJilj oLu-il oUL* £i w - V
.( Temporary file ) cj>« o»L. Jl ( l^liU J-*^
^ *j| jlAiJI ) cJ>il willl ,p o}U~, i>>j o-. jtftJI ^ - 1
.( lijli
oUUj ^-rijJI wiJULI £=i ^ Cj>1I oilll ^ o^U-» *j>j SJU ^j - V
,jL-»Vl oL-S" ^ ijUij cJjll ^-AJULI ^ ,j-~Jj\ o»UI ^«3 ^ - A
.oUlil £-* i5**l r>. ~ *
.(Sales.dbf) oUJLI «JL> gj ^ -\-
( Posted ) J-P-yJI Ji> «i £-*— ^ ( T - ) ^ J Ui ! ri " U
.(Posted) UL>j3
.olilil £-> J**| ^ ~U
.(NewStock.dbf) «UVI OL.
.a, u^UJI yfjitii kJL*j liLsVI uiLo ^Xi ^ ~^
.( Temporary file ) cj>> <-«Li Jl ( U*^ krj
Yot
"•^.i; 11 *-j***i n jmL>.m
0L-.V1 clj" iiuu aJSj cJjii jail ,>- u-^ji jail *^jjbw ^ -u
.( Onorder )
.oUJUl »-*> j'iUI *i» -V*
.(NewStock.dbf) SiUVI ^iL- jci ^ -Y\
( Posted ) J->^' J-*> ^ e^ ^ < - T - > 2L * UI JUj ! r* ~ VV
*3 0%w— Jl **»»■ jl A-i'jJ lift jl v!m> .liLbVl t_*L» Ctlky* £~*»J
.ouui ^ j^ui ^ -vr
.( MMenu.prg ) ,^—-5^11 UMl J?*^j g-*^ *-*£ J! £>>^' |*~! -Y ^
: JJUI jjL~J\ jjt ojSwj ( Updater.prg ) 0,. ...s ^ g-U^JI Li*
* Update the Master File from Sales and NewStock.
* Called from Master menu , MMenu.prg.
* Ask user if sure abour updating.
YesNo = "Y"
@5,0 CLEAR
@ 15,4 SAY "Update Master file from Sales and" + ;
"NewStock?(Y/N)" GET YesNo PICT "!"
READ
IF YesNo = "N"
RETURN
ENDIF
* Display a message that Master is being
* updated from Sales file.
Yoo
.SlUrfftt SjH-Q gAkyf
@5,0 CLEAR
@ 15,5 SAY "Updating from the Sales file ..."
USE Sales INDEX Sales
* Copy all unupdated records to Temp file.
COPY STRUCTURE TO Temp
COPY TO Temp FOR .NOT. Posted
* Make sure there are records in Temp
SELECT 2
USE Temp
IFRECCOUNT()>0
* Use Master file and index for updating
SELECT 1
USE Master INDEX Master
* Update from the temporary sales file.
UPDATE ON Part_no FROM Temp REPLACE Qty WITH ;
Qty - Temp - > Qty , Date WITH Temp -> Date
* USE original Sales file , make all
* posted fields "True".
CLOSE DATABASES
USE Sales
REPLACE ALL Posted WITH .T.
ENDIF(record count >0)
CLOSE DATABASES
* - Display a message that Master is bieng
* updated from the NewStock file.
@ 15,5 SAY "Updating from the NewStock file"
USE NewStock INDEX NewStock
Yon
LiUrfJi Sjti>1 £*b>;
* Copy all unupdated records to Temp file.
COPY STRUCTURE TO Temp
COPY TO Temp FOR .NOT. Posted
* Make sure there are records in temp.
SELECT 2
USE Temp
IF RECCOUNTf) >
* — USE Master file and index for updating
SELECT 1
USE Master INDEX Master
* — Update from the temporary NewStock file.
UPDATE ON Partjio FROM Temp ;
REPLACE Qty WITH Qty + Temp -> Qty , Date WITH ;
Temp -> Date, Cost WITH Temp -> Cost, ;
Onorder WITH Onorder - Temp - > Qty
* - - USE original NewStock file, make all posted
* fields "True"
CLOSE DATABASES
USE NewStock
REPLACE ALL Posted WITH .T.
ENDIF(record count > 0)
* — free up all work areas , and return to Master
* — menu.
CLOSE DATABASES
RETURN
( Updater.prg ) ^-L-^JI ^L Ju^L Lu, g-ob^JI ,>• JjVl « j*JIj
£— j fji. f5 ( MMenu.prg ) 4JUjul,L f 13 jlil £*\jjJ\ ^-J ,J *^^>jj
.( Updating ) «2-JL*dl ^ *^i, ^ j^hU f jlJo-JJ itu, jt>jc-) i-iUJI
Y«V
MLtiU Ajt»>i gjAiji
jjU ( Master.dbf ) ^^J\ ^»UI jl f jtio-JU ^j*^ XJU, ^^ ^j ^
( Sales.dbf ) oLlJII «_iL. jci g-.U^JI f yu pi .ol*~il «_*L. ,>* 40*5
: aJUI jjk-JI J^U- .y. oljkJJI »JLb juU ^...(Temp.dbf) cj>
YesNo = "Y"
@5,0 CLEAR
@ 15,4 SAY "Update Master file from Sales and " + ;
"NewStock?(Y/N) M GET YesNo PICT "!"
READ
IF YesNo = "N"
RETURN
ENDIF
* Display a message that Master is being
* updated from Sales file.
@5,0 CLEAR
@ 15,5 SAY "Updating from the Sales file ..."
USE Sales INDEX Sales
* Copy all unupdated records to Temp file.
COPY STRUCTURE TO Temp
COPY TO Temp FOR .NOT. Posted
( Temp.dbf )oU~JU cJjll ^M\ £& fJ 3j ^-l^JI ,>• .y 1 ^ 1 O^b
fi . ir -sJ\ aUI Jl \4s\A4 J->jJ *jJmi ci^LjwJI JS" J* *&. ^
<_iU> «_* J-oUJI ij^lkJ liUij kjtill lift ^ ii^Ljw i>>j ^ jl^LJL ^>L
£=i *Ij *3 .i«3>Lo _^i £ilu Jl ^aJj ^ ^5Uj JJi 0*^ jj^ ^L; » JL * 15
^ .jjA Jrf SlkL* ,y -u ^UJI ^^Jlj (Master.dbf) ^Jl diX\
: SJUI jjkJI J3U ^. aia
* Make sure there are records in Temp file.
SELECT 2
USE Temp
IFRECCOUNT0>0
YoA
AtitfJI ^|.|1H>1 £*U>f
* Use Master file and index for updating
SELECT 1
USE Master INDEX Master
J \ij>^\ oL-£JI &* (Temp-> Qty) c3jU Jiil J o>r>ll oUSUI
^^Jl oOJLI ^j^o >T j^,U J^juu- pi ,J ( Qty ) ^--5^1 Oill
j^k-JI jyj. j-. dUi ^ .cUJll vjJu ^ i>?J il j-»UL, ( Date )
# Update from the temporary sales file.
UPDATE ON Partjio FROM Temp REPLACE Qty WITH ;
Qty - Temp -> Qty , Date WITH Temp -> Date
piV J± LfW f3 yiJI o^U-JI j--3 aTjU &> & £>\J\ **l\j
pi c^- *JUaII »i* ,y ( Posted ) Je-j^' J*** p*»^-ij -*->l5 »j-« U^-j 3
ciL. o"3U~ £-*J JJLJI IJub ^ j^w, ( True ) J ( .T. ) 3L-*II JUjI
.^.^Jl uiJill Jl L$L>>; pj jlj oLjL-JI ^> jl ,yju IJm>j oU-JI
.ZJLjJI «i» {^jj 2_JLiJI j^k-Jlj
Close DATABASES
USE Sales
REPLACE ALL Posted WITH .T.
,y» tr<»V' ( - J ^' ^f- 1 ^ (P *-^-" 0^*J i^> Olilll «-*> J^Lcl pi *3
: iJllll jjkJI J}1> ,>- dUi piy .lil^i\ uiLi
ENDIF(record count > 0)
CLOSE DATABASES
iiUsVI i_iLo J5U- j^e tijjundl JUL*. JljLj J*il> (y> pi ~*\J*}\ •j^Jlj
J^ i/L.j ^»jx. Vji pi v^-> iiLJI Ubjai\ ^Jcu ( NewStock.dbf )
vo*
^•Vl LIS" j-* jj Aii *i^>j .( Temp ) cJ> wiL. J| ( SiUtfl uiLo Cr .
( IMenu.prg )ojUll £-1;^ ^Jl ^-b^JI J ( SET SAFETY OFF )
.oljlwJI u* iuLs j-i.jj aJUI jjkJIj .JjL uJL. j> £-jJI
@ 15,5 SAY "Updating from the NewStock file"
USE NewStock INDEX NewStock
* Copy unupdated records to Temp file.
COPY STRUCTURE TO Temp
COPY TO Temp FOR .NOT. Posted
J*> ^-o tills, ( Temp ) cJjll «_*UI J> o"iU- a>>, &> jtftdl ^ ^
SELECT 2
USE Temp
IF RECCOUNTO >
^ *j j^UJI ^^iJI «^»Loj ( Master.dbf ) ^—^Jl vjiill j^ (^ ^
: LJUI j^-J' J^
SELECT 1
USE Master INDEX Master
CJjll .Jill Jyb- ,y »A>>^ 1 p-i*" J-s^r^ ^ ^ g-* 1 ^ 1 f>*J r 5
^ Si^^ll i~£JI ZJL*L JJi, .( Mastec) ^J\ ddU J[ ( Temp )
•(Qty W-T 11 ^' tP ^j 11 *s^' (> (Temp-> Qty) *-£JI Ji>
( Temp- > cost) c3jl\ ^JJ1\ J> i>*4l ^*-JL ^a-JI Ji-^l ^ LJ"
S-^JI ,>- ( Temp->Qty ) S~£JI £> ^ US' .£^x*3 >T j^b dUtfj
»j* JlJUj £^»j3 SJLJI jjkJIj .( On_order ) vJUl ^^ J** <J »*ytjM
.ol>iJI
YV
aUjJI Iijiq £*br!
* Update from the temporary NewStock file.
UPDATE ON Partjio FROM Temp ;
REPLACE Qty WITH Qty + Temp -> Qty , Date WITH ;
Temp -> Date, Cost WITH Temp -> Cost, ;
On_order WITH Onorder - Temp -> Qty
J,i> J/ J, ( .T. ) i_iH JUil ^ ^U^l ^ ^J-Vl .^Jl ^j
oUUI £-> l ^LiJ ^ ^ i-ib ;^ L#L>^3 ^V js> ( Posted ) J->>JI
UUl j^kJIj .( MMenu.prg ) ,^--5^1 JA1\ J-i-is i*5l5 Jl Ia^JIj
* USE original NewStock file, make all
* — posted fields "True"
CLOSE DATABASES
USE NewStock
REPLACE ALL Posted WITH .T.
ENDIF(record count > 0)
* free up all work areas , and return to
* Master menu.
CLOSE DATABASES
RETURN
( SalEdit.prg ) oL-Jl JUL. gr**** g*kn v - \v
J->b pj jui &WI g^b^J Zj^ll iitid\ JL*>UI £-»L-JI ^j* o-« J*»^j U
v—Jlj .J^iJI IJL* Jl ( SalEdit.prg ) oU~il JiL, j^^i ^UJI ^b^l j>a
y— -JjJI tilll oULj ifclk. |ji* Jl ^ijj J-»>dl ZJLt Jbu ^K.rt-JI ji liUi ,ji
J ^ k&j oLyLt i^i* ^L jjioJI jf Ll*> jJ *ui .gSljJJ ( Master.dbf )
^i «_il*aJI IJL» JjJUi j.15 lili .»j^e ^ Vju &j±£- i_ii-JI U^ ^UJI i— £JI Ji>
OUI ^i ^V J*wJI 0* Ji ( Master ) <J ^J,J\ dih Jl 4-*^ jl~ ol*~ll aL.
jli JJJUfj .o>ll ,> LwwJl 5—SJI ,>t \jfAA tr - s spi JUll jw^V JULy cr - s s / II
n\
julil^Jl »l ^t frl^^ ^Aljj
•^*-« J*'—' ObLj \_jl J j Jj C j »JLiC—JU rL-JI -\
.yu oU-JU uiLo ^ ( Part number ) *j> ,Jj jL; J-jJ^ f^^x-il ^,13 lil -Y
^ \j*-J?j jA-JI <3»JI |»3j Jx- uL^JI IJl* j-» ix-Lil l~SJ\ ZiL&L g~*lJ>JI
•t^-eJI wiill ^1 JuJ»JI ,j»JI ,Jj
^ JjjJI i_jLu> ^ ol*-JU uiLi ^ LfcLII Z-*£JI JjJjCj .jiJclJM .13 lil -V
i^XII ^ i~»£JI »I* ^ji> (*^i |*5 .JjuajJI 3L*SUl, LfJU-il J--. ,yjl Z-»£JI
J..JL.JI ^j ( Updating ) £* i x*ci\ j^b JJ^, Jl.^11 £-> ^3 4jV oU~II
.( Editing )
.iiLUI J* SJUI ilL-^JI ^^ Jl jifc aLjlLj Jim ^.O^JI Li*,
Enter Invoice number to edit (0 if none) :
Jf jojtj g-^l 6p ^ J*^ 1 <tOJJ»1I •jj^LiJI ^j f JL>cu-ll v^SLj L.JUA,
fJ i iJUIl d* ^j .likiJI oLl^\I oLL> !:. *?. I^pUM *xa 1^>\SJ\ i*>JI
"•- •--- JjJbcJL X-»U iiLi ^i* oLjUj J,ajal oL-^l J* Jb-J jUi-L f JL^-ll
.( Y - - W ) JSLiJI >;l .1**^. J ULjulJ .Ji-JI IJu. oliU
sjSL*! LS" .aLjl-3» Oi-JI IJL^ ^U- jU «^i Jl j-ijll djj^s r aiaUI ^Jn-jy
: jfttf iftLUI JJL-1 jilb -tfJJI Jlj — VI f U ( Y ) U*
Delete this record ? (Y/N)
■_iv f '» LI* « UJI Jujj Ujlu. liUij
■JSjl Uii\ J* LjVUI o^l -Itk ««U»--Uj g-bjJI fJ iy
-gj ii'tlfiJifiH jiffi i -i4 /lfflHi \ fl AJIwIt tU
Invoice Number :
Part Number :
Clerk :
Quantity :
Date
Customer
Selling Price:
Delete this record (Y7N)
( Y - W ) J£&
( PSEUDOCODE ) i-JjVl ol>M N - v - Nv
.S/IJUI
'I ^ J U- a < LtJl w - \
*j ^UJI u-^iJI uil«j ( Sales.dbf )olxJU ^*JU juii ^ - f
,( Sales. ndx )
f-liwJI jAxZ fZj JjjjUJI j^Jj ^Ji Jj>w <^l J*c jjJSjJI j^Xj 1 lil - o
JL* jl/ lilj .oULu JjAjG wjjJULJI J*wJI ^ ^ aJlj^j j.a^l-JJ
.aJI yUJJI -jj j>Ij Jj»w
i>i/»vj ^L*-^ 1 *-«J-« Jt ajLLj JjOju Lj^JLtdl Jj^JI J| oUUI ^ - V
.iji'li olj**^<i ,^i Aji o^jll i^jiJI
nr
^ **-* j ^jizJll f.15 ,*; ( Posted ) *L>h ^ jj J^-JI jlS" lij -\ •
^J alii ,> ^Jiill .j^-JI f3j Jl vL*JJI ri ( Part number )
Jl ijUJJI fZj Li* .4JL« Lf-»Ujl j^ ^1 JLJUl **Li.lj ( Master )
juXII Jjjuco r J^JU f l5j ( Posted ) *L>jj ^ jj J^-JI jtf lil -\Y
•tJUJtwJI JL»5Ulj 3&LJI JL*£JI ^ jyUI oL> *ii
*— SUI ,>* Jytfl £>j tr-^^ 1 '- ijyl1 «P -J** 1 pJj J! V^*^ 1 ri ~^ r
.( Quantity ) tij>jll
.J>\ «j> ,/jl jULjJI *i* jIj&j .j&;..,*U ^U_JI -\l
k_1I ZJL.& «L^j[ *~» gr-^-oll Lb^pu j^j j3 o^ isJLa cjli* lil -\o
.( PACK ) s>S\ f bii-L
.( SMenu.prg ) oU~AI t_iL> J~i-i3 g-*^ Jl %j>J\ f± -\"\
g-UjJl *l=? y - y - w
***************** SalEdit Drc
* Edit the Sales File and update Master.
* Called from Sales Menu , SMenu.prg.
* Set up memory variables.
No_Dels =
Search = 1
* Set up loop for invoice numbers .
DO WHILE Search #
CLEAR
Hi
@ 2,1 SAY "Edit Sales Transactions"
@ 2,60 SAY DTOC(T_Date) + " " + TIME()
@ 3,0 SAY Uline
7
7
@ 15,5 SAY "Enter invoice number (0 if none) : ;
" GET Search PICT "9999"
READ
v.
* If user does not request exit, continue
* with edit.
IF Search >
USE Sales INDEX Sales
* — Count records with that invoice number.
COUNT FOR invoicejio = Search TO Howmany
DO CASE
* — If invoice not found , warn user.
CASE Howmany =
@ 24, 1 SAY "No such invoice number"
? CHR(7)
* If invoice number found , proceed.
CASE Howmany >
* - - If. several records have this invoice
* - - number , dispaly them and get the
* - - required record number
IF Howmany > 1
@5,1 CLEAR
? "RecNo Part ff Qty Price Clerk"
?? " Customer Date"
7
LIST FOR Invoicejio = Search Partno , ;
Qty, Price , Clerk, Customer , Date
9
-no-
INPUT "Edit which record:" TO RecNo
GOTO RecNo
* Otherwise, just go to the record.
ELSE
LOCATE FOR Invoice_no = Search
ENDIF
* Store original field values to variables.
OldPart = Partno
01d_Qty = Qty
* - - Display data on edit screen and allow
* - - edit.
@ 5,0 CLEAR
Deleted = " "
@ 7, 1 SAY "Invoice Number" GET Invoiceno
@ 7,44 SAY "Date" GET Date PICT "99/99/99"
@ 10,1 SAY "Part Number" GET Part_no PICT ;
"!!!!!"
@ 12,40 SAY "Customer" GET Customer
@ 15,1 SAY "Qauntity" GET Qty
@ 15,20 SAY "Selling price" GET Price
@ 24,1 SAY "Delete this record? (Y/N)" ;
GET Deleted PICT"!"
READ
* After editing , adjust Master file.
DO CASE
* If transaction to be deleted ,
* delete it and add its quantity
* back to the Master file.
CASE Posted .AND. Deleted = "Y"
DELETE
No_Dels = No_Dels + 1
YV\
USE Master INDEX Master
SEEK 01d_Part
IF FOUND()
REPLACE Qty WITH Qty + 01d_Qty
ENDIF
* - If Part number changed , add
* - quantity to old part number,
* - and subtract it from new part number.
CASE Posted .AND. Partjio # 01d_Part
New_Qty = Qty
NewPart = Part_no
USE Master INDEX Master
SEEK 01d_Part
IF FOUNDO
REPLACE Qty WITH Qty + 01d_Qty
ENDIF
* - -If quantity changed
* - -adjust the Master file quantity
CASE Posted .AND. Qty # 01d_Qty
Diff = Qty - 01d_Qty
USE Master INDEX Master
SEEK 01d_Part
IF FOUNDO
REPLACE Qty WITH Qty - Diff
ENDIF
SEEK New_Part
IF FOUNDO
REPLACE Qty WITH Qty - New_Qty
ENDIF
ENDCASE(adjustments after editing)
ENDCASE(Howmany > 0)
ENDIF(Search > 0)
Y"\V
■sjU^JI i^ajp £^ft
ENDDO(while still editing)
* If there are records to be deleted , Pack the
* sales database file.
IF No_Dels >
@ 5,0 CLEAR
? "Deleting unwanted records from the sales file.."
USE Sales INDEX Sales
PACK
ENDIF
* Return to Sales menu.
CLOSE DATABASES
RETURN
c£U-JI iJi* ^^iJ (No_Dels) i/IJLII j^jcu. .UjL Ijlj g-l^Jlj
JjjjlUI ,Jj Cfi^d ( Search ) i/LUI j^n* .Li;l viUtfj L^w wjlLlI
No_Dels =
Search = 1
DO WHILE Search #
CLEAR
@ 2, 1 SAY "Edit Sales Transactions"
@ 2,60 SAY DTOC(T_Date) + " " + TIMEO
@3,0 SAYUline
?
?
VIA
@ 15,5 SAY "Enter invoice number (0 if none) :";
GET Search PICT "9999"
READ
jx £*J} <, ^Wl o-^fUlj ( Sales.dbf ) cU-JI oiL. ^ ^ ^
iJi*. s*> ^ .( jj^l Li* Jlioj ill> ^i ) f.i *iT ... t l *I>jI jJJI Ij>iLUI jj,
: SJUI jjkJI J^» &» dJi (^jj ( Howmany )
IF Search >
USE Sales INDEX Sales
* Count records with that invoice number.
COUNT FOR invoice_no = Search TO Howmany
: SJUJI jt^kJI J^U ,>*
DO CASE
* If invoice not found , warn user.
CASE Howmany =
@ 24,1 SAY "No such invoice number"
?CHR(7)
1*3 aL-^ 3 «JjW ik«— " fjj "»**^ (.-As-il fyu ^ o^U-JI JL* obL,
: JJUI jjkJI JA> ^ dJi ^ ,4,^-J J^-JI II* Jl V UJJI ^
CASE Homany >
* If several records have this invoice
* — number , dispaly them and get the
* - - -required record number
m
IFHowmany > 1
@5,1 CLEAR
? "RecNo Part # Qty Price Clerk"
?? " Customer Date"
7
LIST FOR Livoice_no = Search Part_no , ;
Qty, Price , Clerk, Customer , Date
?
INPUT "Edit which record:" TO RecNo
GOTO RecNo
Li* Jl ijUjJI ^J JUol pi tfUl %jj3\iil ^ Jb-lj J*^ JL* ^ 1*1
ELSE
LOCATE FOR Invoice_no = Search
ENDIF
J ia^l 2JL*VI L-SJIj J-^Ml .J»JI (Jj j^>3 ^ JUI .j^JI yij
: 3JLJI jjk-JI J&> ,>- ^Ji (^y .dUi a*. J^fcJI J* jLjSI ;£-, <>>
01d_Part = Part_no
01d_Qty = Qty
i-fc, Mjicl ( Deleted ) s^lltl ^jcj. .Luj ^ JUI <>*JI ^j
@ 5,0 CLEAR
Deleted = " "
@7,1 SAY "Invoice Number" GET Invoiceno
TV-
juUjfN JUjtm±a jfAijt
@ 7,44 SAY "Date" GET Date PICT "99/99/99"
@ 10,1 SAY "Part Number" GET Partjio ;
PICT "!!!!!"
® 12,1 SAY "Clerk" GET Clerk
@ 12,40 SAY "Customer" GET Customer
@ 15,1 SAY "Qauntity" GET Qty
@ 15,20 SAY "Selling price" GET Price
@ 24,1 SAY "Delete this record? (Y/N)" GET ;
Deleted PICT"!"
READ
*«- r Ji>a-il yitj ( Posted ) *L>jj fj jJ J*uJI ili" lili . f .Ui-il
(O. ^ ( DELETE ) jM\ iL-l^ £-JU .j^ ^ ( Deleted = "Y" )
.jl>I^ ( No_Dels ) lf*-~* tjjJJall c/iU-JI ajlc oUj
trvfiJI oiJL.j ( Master ) (^--1^1 «-Uil £i* iiUi juu g-li«JI rJ JL; ^
I^Jjlc. j3\ L-5JI ZiUlj **w— w^Jill Jj^-JI II* ^ ^«JJ o ^UJI
DO CASE
* If transaction to be deleted ,
* delete it and add its quantity
* back to the Master file.
CASE Posted .AND. Deleted = "Y"
DELETE
No_Dels = NoDels + 1
USE Master INDEX Master
SEEK 01d_Part
IFFOUNDO
REPLACE Qty WITH Qty + 01d_Qty
ENDIF
YVN
,_ii«JI i-J' o^ JJUJI Jjb ^ .^1 ; jjJ; ij li^- j^ y^ j^,
^ ( Master ) ^-^Jl oUI ^i u*D o3 .^1 IJ^ i^uji ( Quantity )
fJ jb JJUj .^ US' a-3, JU-il w li- ^ui ^l^| i^ J& ^
^ .Jj^JI .^»JI ^ tOi-JI ^J" ^ l^^aij ( OId_Part ) ^aiJI .^jJI
CASE Posted .AND. Partno # 01d_Part
New_Qty = Qty
NewPart = Partno
USE Master INDEX Master
SEEK 01d_Part
IF FOUND0
REPLACE Qty WITH Qty + OId_Qty
ENDIF
i~£JI f j^JU Jjuu L-j_Lt ^j iilLJI UUJI gJLu JUI «^JIj
Jjj*i ^.li^JI (.ji iJUJI »I* ,y ..^J| ^ Jjjuj jji Jiii ( Quantity )
&* i^jill LuJUl j^iu dJij ( Master ) ^,--^1 uilll ^ .j*JI la* L-S"
.(DIFF ) jjcll ^ JyUI II* Cfi} iC J C JS£-A\ UtfJjLft ^III iJUJL^I i-SUI
■j^-Jjl OUI ^i Sa^ll ZJUJI i^XII ^ ( DIFF ) Jji\ II* c > ^ ^
: SJU1 j^I J** ^ ,-Ui ^
CASE Posted .AND. Qty # OId_Qty
Diff = Qty - 01d_Qty
USE Master INDEX Master
SEEK 01d_Part
IF FOUND0
REPLACE Qty WITH Qty - Diff
ENDIF
ENDCASE(adjustments after editing)
YVY
.ubljJI j^**a £«btf
ENDCASE(Howmany > 0)
ENDIF(Search > 0)
ENDDO(while still editing)
u)U» cotf li| U *i>J (No_Dels) ^1 jLi^I ^ JUI «j*JI ^j
w Lf»v~-» <- , >U»-« £>%*-* JL* cjLS" lili .V »l L^w-i «_»jiL-* o}L*— .
.(Sales.dbf) cU-il ^L. ^ Lil#; l«~-«. ,y (PACK) ^\l r b»£j
: JLJUI j>-JI J5U ,>. dUS ^
IF NO_Dels >
@ 5,0 CLEAR
? "Deleting unwanted records from the sales file.."
USE Sales INDEX Sales
PACK
ENDIF
oU-JI ^.U* JJ ii^Jlj oUil J5UI ^ ^.U^l ol^ ^j
.( SMenu.prg )
( NewEd.prg ) AiU>>l .jl- £**-£ £.U>. r - \v
.{ r - W ) JSLiJI >;! .liUVI
New Stock Syst em Menu 02/20/90 os:30:45
( r - w ) j£i
vvr
jLl^VI 3jU>{ o^U- J^jucu f j^uU«JJ ^*w jAJI g-.li^JI Ji« £*l^JI II*j
o^jjucJI «Jub Jj. « Lb ( Master ) ^^--ijJI Olll ^axs ^ C^u IflU-aj j~- ^1
^.lijjl ^c *~*1h ,y <Jk±Si ybj .( Posted ) LfL>j3 j~- j5 cdU-JI cjU" lil
JJi>j ( Cost ) oLl-JI jju- JJ» JjJU3 Jl Ij-UJI ^j *jl& oUi~ ju£J, J-LJI
.j^JI ^3, (.jlJ^--, g-^li^l oi ^ -( Qty ) 3L-&I Ji> Jl iiL^L ( On_Order )
ijjjUJI ^j ^-Jj ( NewStock.dbf ) oLi.71 o»U ^i v^' «-*^*JI 0^ •^? JI ^
: iJlxJI j^LJI ^ £-*1<jJI uj^i) .oU-JI <JL« Jl*
***************** NewEdit or?
* Edit the NewStock File and update Master.
* Called from NMenu.prg.
* Set up memory variables.
No_Dels =
Search = "1"
* Get part number for data to edit.
DO WHILE Search # "0"
Use NewStock INDEX NewStock
CLEAR
@ 2,1 SAY "Edit NewStock Transactions"
@ 2,60 SAY DTOC(T_Date) + " " + TIME()
@3,0 SAYUline
7
ACCEPT "Enter part number to edit (0 if none)" TO Search
Search = UPPER(Search)
* If user did not request exit, continue.
IF Search # "0"
* - - Count the records with that part number
SEEK Search
COUNT WHILE Partjio = Search TO Howmany
DO CASE
* If part not found , warn user.
YVt
jubl^JI tijh>l £*bjf
CASE Howmany =
? " No such part number"
? CHR(7)
* — If part number found , proceed.
CASE Howmany >
* - - If several records have that part
* - - number , dispaly them and get the
* - - required record
IF Howmany > 1
CLEAR
SEEK Search
LIST WHILE Partjio = Search Part_no , ;
Qty, Cost, Date, Vendor
?
INPUT "Edit which record(enter ;
record number)?" TO RecNo
GOTO RecNo
ELSE
SEEK Search
RecNo = RECNOO
ENDIF(Howmany > 1)
* Store original field values to variables
01d_Part = Part_no
01d_Qty = Qty
01d_Cost = Cost
*- - Display edit screen and allow edit.
CLEAR
Deleted = " "
@1,1 SAY "Edit NewStock Transaction"
@3,1 SAY "Part Number" ;
YVo
GET Part_no PICT "!!!!!"
@ 5,1 SAY "Quantity" GET Qty
@ 5,20 SAY "Purchase Price" GET Cost
@ 7,1 SAY "Date" GET Date PICT "99/99/99"
@ 7,15 SAY "Vendor" GET Vendor
@ 9,2 SAY "Delete this record? (Y/N)" ;
GET Deleted PICT"!"
READ
* - After editing , adjust Master file.
* - - First handle change in cost.
IF Cost # 01d_Cost
New_Part = Partno
New_Cost = Cost
USE Mater INDEX Master
SEEK New_Part
IFFOUND0
REPLACE Cost WITH New_Cost
USE NewStock INDEX NewStock
GOTO RecNo
ENDIF
ENDIF (Cost # 01d_Cost)
DO CASE
* if new stock transaction to
* be deleted, subtract its
* quantity from the Master
* file and add it to the
* Onorder field.
CASE Posted .AND. Deleted = "Y"
DELETE
No_Dels = No_Dels + 1
USE Master INDEX Master
SEEK01d_Part
IF FOUND()
REPLACE Qty WITH Qty + 01d_Qty
REPLACE On_order WITH On_order ;
+ 01d_Qty
ENDIF
* - - If Part number changed,
* - - subtract quantity from the old
* - - part number, and add to the
* - - new . Do the opposit for the
* - - On_order field.
CASE Posted .AND. Partjio # 01d_Part
NewQty = Qty
NewPart = Part_no
USE Master INDEX Master
SEEK 01d_Part
IFFOUNDO
REPLACE Qty WITH Qty - 01d_Qty
REPLACE On_order WITH On_order ;
+ 01d_Qty
ENDIF
SEEK New J>art
IF FOUNDO
REPLACE Qty WITH Qty + New_Qty
REPLACE On_order WITH Onorder;
- New_Qty
ENDIF
* - - If user just changed the
* - - quantity , adjust the
* - - Master file quantity.
CASE Posted .AND. Qty # OldQty
Diff = Qty - 01d_Qty
USE Master INDEX Master
rvv
-bI^kN A^*a3 pAijf
SEEK 01d_Part
IF FOUNDO
REPLACE Qty WITH Qty + Diff
REPLACE On_order WITH ;
On_order - Diff
ENDIF
ENDCASE
ENDCASE
ENDIF(Search # 0).
ENDDO(while Search # 0)
* If records have been deleted , Pack the New
* Stock data file.
IF NO_Dels >
CLEAR
? "Deleting unwanted records from NewStock file"
USE NewStock INDEX NewStock
PACK
ENDIF
* Done , Return to NewStock Menu.
CLOSE DATABASES
RETURN
ol Jb>*j j&j L.LJ ^Ul ^-Li^JI JJU i/UJI ol^JtL. .LUL Ijlj £-b*JL,
*&J\ ^ &* ^ o^- iS^JI ft dJh 'v>j> j*zJ »jLiil ^ ( Search ) ^1
o JjS * Jl f j^o-il aijb ^JJI *y*)\ (Jj J^ J ( UPPER ) UIjJI f J^-J JJiij
No_Dels =
Search = "1"
YVA
* Get part number for data to edit.
DO WHILE Search # "0"
Use NewStock INDEX NewStock
CLEAR
@ 2,1 SAY "Edit NewStock Transactions"
@ 2,60 SAY DTOC(T_Date) + " " + TIMEO
@ 3,0 SAY Uline
?
ACCEPT "Enter part number to edit(0 if none)" TO ;
Search
Search = UPPER(Search)
li* If) J^\ Ci}U-JI iJLfc j-a>j .J&Z~1I Jj-il ^JJI .JmJI |Jj yc lisxJI pX; ^5
: JJUI jjkJI JAi ^ aii ^ .( Howmany ) jJci\ Ji aJ*JI Li* oi^J (-V
IF Search # "0"
* Count the records with that part number
SEEK Search
COUNT WHILE Partno = Search TO Howmany
DO CASE
* If part not found , warn user.
CASE Howmany =
? " No such part number"
? CHR(7)
»i* oLjLj jfjj- pZj LjjJLLlI .>*JI pj, tr jj Lfl o}L*-. »JLc JU* oLi' lijj
IF Howmany > 1
YV^
jxblrfJI iijtii-m g*bjj
CLEAR
SEEK Search
LIST WHILE Partjio = Search Part_no , ;
Qty, Cost, Date, Vendor
?
INPUT "Edit which record(enter record number) ?" TO RecNo
GOTO RecNo
Jj*-JI Iji* Jl ijUJJI ^j <^JJA\ .jwJI jjj Jx ^j^w Jb-lj Jj«-» JL* jlS" lilj
: SJUJI j>-JI J*> ,>. dUi ^ ( RecNo ) s/IAJI j^j> J J*wJI ^ oe>«j
ELSE
SEEK Search
RecNo = RECNOO
ENDIF(Howmany > 1)
*
^ jJLjLO i-Jjiiall J-k~>JI Jj-*> l- jaJu oL j -l*." ,>j>«j (^j JUI «jJ*J' ^Jj
^ dJi *^jj .,^—-5^1 ulUI JjJ-oj j^j dJi juu l^aL&zJ ^51^ (J i>. J^fli cjL«*z«
: 3UUI jjkJI Jili.
old_part = part_no
old_Qty = Qty
old_Cost = Cost
*^*j ^ .j^t...»U iiU»yl Jj»«-, oLjLj ^^ju g-^lj^JI f>*j JL^I «>>" ^j
v— =■ ( NewStock.dbf ) Xs\*z>H\ ,_iJL> &> Jj^-JI £-~. jl LjJIJI JjJ^JI J^us
: UUI jjkJI J!A> ,>- dUi pi, .S>UJI
CLEAR
Deleted = " "
@ 1 , 1 SAY "Edit NewStock Transaction"
@ 3,1 SAY "Part Number" GET Part_no PICT "!!!!!"
@5,1 SAY "Quantity" GET Qty
YA<
■aibltfjM hjitii-O £jL>jf
@ 5,20 SAY "Purchase Price" GET Cost
@ 7,1 SAY "Date" GET Date PICT "99/99/99"
@ 7,15 SAY "Vendor" GET Vendor
@ 9,2 SAY "Delete this record? (Y/N)" GET Deleted PICT "!"
READ
( Master.dbf ) cr - s i^l oiAll J> oULJI J^i, g-U^JI fJ Ju JUI .>jJI ^ij
ulS" lili .( NewStock.dbf ) *JU»VI ol. J> LjLjus pj ^/Jl oULJI Jj. .L,
j>-JI J^> ,>- dUij .^--i^l ,-illl ^ *LJU3 pi. ( Cost ) .J»JI y^ JJU. f J^wL-ll
: 3JUI
IF Cost # 01d_Cost
NewPart = Partno
New_Cost = Cost
USE Mater INDEX Master
SEEKNew_Part
IF FOUND0
REPLACE Cost WITH New_Cost
USE NewStock INDEX NewStock
GOTO RecNo
ENDIF
ENDIF(Cost # 01d_Cost)
J^l li» J.—* f jikiJll vJk, Ujll* ^>i iJU jLiil ^ JUI .^Jl ^i,
^ ( DELETE ) s?i\ f \^cJu j^JLI .jj^Ki, f yL £*U^JI op ( Deleted = "Y" )
otf lip j^uJi u» a* d^i ^ .*, ^uji ^^iiij j^-jjji alii £& ^
jjJ»-JI J*> ^ dJi_, .( On order ) .-JUI c^j 5-JUI Jl i~£JI »1* iiU»l
: 3JUI
DO CASE
CASE Posted .AND. Deleted = "Y"
YM
Ill ■ ^^H^*^"™ ff^ mm JT
DELETE
No_Dels = No_Dels + 1
USE Master INDEX Master
SEEK OW_Part
IF FOUNDO
REPLACE Qty WITH Qty - 01d_Qty
REPLACE On_order WITH ;
On_order + 01d_Qty
ENDIF
J^* ^jJI «^»JI j^j J-UjCj ^JLJOmJI fji Ujllc ^Jji-I *JU gJLw JUI «>>Jlj
JjL-JI <>nJI ^-o oUall Z— £-11 mm «_oLi^JI .yu DUJI »1* ^j .aJLc oL2»VI
dJi ^ UWI ceo L~£JI Jl *~£i\ d* liUI ^ US' .jbJbJI .j*JI Jl l^iU^
: 2JUI jjkJI Jfc- ,>-
CASE Posted .AND. Part_no # OldPart
NewQty = Qty
New_Part = Part_no
USE Master INDEX Master
SEEK 01d_Part
IF FOUNDO
REPLACE Qty WITH Qty - 01d_Qty
REPLACE On_order WITH On_order + 01d_Qty
ENDIF
SEEK New_Part
IF FOUNDO
REPLACE Qty WITH Qty - NewQty
REPLACE On_order WITH On_order - New_Qty
ENDIF
j*- ^1 5-*5UI JiJio f d*xJU f >b L.JLX S^iMl i)U)l ^JU. JUI «j*JIj
YAY
: JUUII iJl* £*j3 IJUI jjkJ\j .JiJucJI juu Ijujujl ij^Jlj JjVl
CASE Posted .AND. Qty # 01d_Qty
Diff = Qty - 01d_Qty
USE Master INDEX Master
SEEK 01d_Part
IF FOUNDO
REPLACE Qty WITH Qty + Diff
REPLACE On_order WITH On_order - Diff
ENDIF
ENDCASE
ENDCASE
ENDIF(Search#0)
ENDDO(while Search # 0)
j>-JIj .(NMenu.prg) liU'VI g-b* JJ UyJ\j oliUI J5UJ ^ ^ .(PACK)
: JJLuJI (JUb £2>j3 IJLJI
IFNO_Dels>
CLEAR
? "Deleting unwanted records from the NewStock file"
USE NewStock INDEX NewStock
PACK
ENDIF
CLOSE DATABASES
RETURN
YAf
giyi *jaJI
dUafl
jAt c^UJI JtxUI
*ar
YAV
tfifl ( Accounts Receivable ) «%-jJI oU— > j.Lfeu f . . * .di «jj*JI II* ^ ^
( Customer ) J~*JI ^-j &£c fUtJI II* ,y ^ .LJT j-3l>UI S*U» <J> ^Hu
( Current balance ) 3JUJI iijl^ll JJ *iU»VL J-oii-. obU U«.l3 ijL. ,y -gI^jlc,
,y ( Payments ) aL-JI oULi ^i/* 5 ri ^ •( Age * balances ) iiLJI objl^llj
U*13 uiL* ,y ( Charges ) o^nJI obU ,>j^rf ^ Li" .J-*iL« obL. »jlcIj u.«l«
.SftUI cUUI «I* ^ JwJL g-bjJI f >Lu >l oUL,
oUJil ^* J-.LdJ »jux> JJiU,j iijj«-« g-«!j-JI -iaia^U £~3 flJ*J' IJL* i-ljij
oljL#JI oUJU f IjiaJ i-lji Lfl^> j^ ^ Li" .( Relational Databases ) iL-jJil
.Ifj.ltf' oLjj g-UJI iAX J-4-j ^J» ( Procedure Files ) oU^I ji
AJLSLiil (JjjjC N - \A
Lfl^U- £_« -jo ^^^rf tJLcLi .Lwl j_* *^LuJI oLL» .Uu £_• oJLfJI
iljuJI 5J>J ( Monthly ) jj+iJl OJ^ll J-*-Jj .5L-JI cLU ijoLi.
yL* J£J ( Charges Transactions ) ui^-JI iS>j ( Payments Transactions )
iijl^ll £j»jj v_>L-> J£J ( Invoices ) ^-jI^j jIj-*»L f UlJI fJ JLy ( Account )
p ^1 IJL* J)U j^ J iL- **> Ji"j ^dU ( Starting Balance ) *-slu#l
Ij-aii-. j-jjLc f UiJI ^j., LJ* .( Current Balance ) iJL^JI S-JjIjJl
Jfc. DjI^JJ ^jjlB LJ y^ US' .J^ JSU ^^Jl J,UJU ( Summary Reports )
.iLU oliLu ^i J**^ J^jJI jJc-j ^ J-*jJI Jjjilj ^a ik-J
^ jOjoJU J^Lu J-4-j ^i i^^l^ll ^Ijjai r LU^L iiUtf £-U>JI f yLy
. f lkJI
oLLJi SAfrU JiLA juam Y - NA
^liJIj J~*JI IV ^.LAl oliLJI J5" J* ^^ ^jj| ( Customer ) J--JI cbU
iij^-JI .Ij^Vlj Oj-JI ^l^j oliU b~*=-L jiM ( Charges ) o^JI ii> «JU
tiij-j ol^-JI obU ,^^-ii; ^111 ( Payments ) aIjuJI SS> ^iL. ^JUIj UjUJj
,Ualil
.^i\jil\
( N -
( Customer.dbf ) J^l c»bL- v-iJu \ - r - Na
\A ) j£i)L J^-^jll J^fcJI &. J^l oliL; vJ»U Clj&L;
Field
Field Name
ACCOUNT_NO
Type
Numeric
Width
4
Dec [
1
2
CUST_NAME
Character
25
3
ADDRESS
Character
25
4
PHONE
Character
13
5
LAST_UPDAT
Date
8
6
START_BAL
Numeric
8
2
7
CHG_CURR
Numeric
8
2
8
PAY_CURR
Numeric
8
2
9
BAL_30
Numeric
8
2
10
BAL_30
Numeric
8
2
11
BAL_90
Numeric
8
2
12
BAL_90 , PLUS
Numeric
8
2
13
TERMS
Character
20
( \ - \A ) JSLi
(J, Ji> _,j» U) j^jj Ji>Jlj .Li^ Vo ^j> cj^i tAr" J-*> >*>j O'j^I
Ji. jJ» (0) pSj Ji-Jlj -lJr>. (W) ^ ^5CJ J>j> JJ> jJ>j O^uLJI
(Jj-aJI *$">> Jj> jj> (V) |*5j JiJIj -CxiA*- iff^Ji f^j' ^S 3 ^ -8 <Jj^-°
2LJUJI iljuJI Si> Ji> j* (A) ^3, Ji»Jlj .( Current Charges ) XJUJI
Ji*Jlj .^i J^i iijljil Ji> jj> (M ,Jj J^JIj •( Current Payment )
JJbJIj .^f LwJ J*. Syljll. JJU _^ (\Y) jjj JfcJIj .j^fi Zftb j*»
.(Credit) w jJI J*, j* (\f) ^
yv
,lfcjll
.IflUII oiail it-j ^ ( Account_No ) v 1 -^ 1 f 5 ; iP* f*^-i>
X-^Jj .JJ*JI Li* J* .L, S£UI oliUI *-,> p ji t ^u-LJI ,yj ttUJLT,
iioJl ?j-i-. &* J ul >-" ^^ r=i ( Cnstomer.dbf ) J-~*JI UU
.( Dot Prompt )
INDEX ON Account_No TO Cust_No
J_;»*JI ^-.1 J-J> J_t .Lj jJ-T ,^p .LiJl j-S-j d-m -*—k
J^*ll pj J^ J> ( UPPER ) UIjJI r b*=J $£-, •( Cust_name )
J^jJI ^J ,>* £**JI J-f-^J ( Uppercase ) ij-£ .Jjy* JI - uvfiJI ^i
^^jiil U* tLLVVj •• J=r S' «Jjj> jl »j~«-«' *-Jjj*y p-"V' «J«i-Jll J*il »lj— i
.( Dot Prompt ) iUaJI ij-i* ,>* JUII JLJI ZA& ^
INDEX ON UPPER(Cust_name) TO Cust_Name
( Charges.dbf ) J»j-JI *S>. oUL. r - y - na
^ Ln^tjl\ JjJbJI ,>-» ( Charges.dbf ) .J^JI Ji>- tiJL* ujicj
i^-vi (Accountno) i_»U*JI ^j Ji> ji -kOly .( V - \A ) JSLUI
JJjj .( Width ) j3j*i\ ^Jdj ( Type ) g>JI ^j ^Vl ,^Jjj oUll ,^j
JSWI oUUI J*J ( Key Field ) c Ui^ f a*iw o^-. ^JJI JJfcJI *A
ZjL£j dUij .i-jL^JI |^3j Ji> Jx. .Lb >_iUI lift ^j^i .Li;j .♦iy
.( Dot Prompt ) ikLil ' tj ^ ^ Jci\ >-JI
INDEX ON Account_No TO ChrgNo
X\\
,Uai)l
.
Field
Field Name
Type Width
Dec
^j^g^ggg^gj^f
*i^&ffiS^il^
SkjSfc ■> iiJ-i^wmiB
1
ACCOUNT_NO
Numeric
4
2
INVOICE_NO
Numeric
6
3
PART_NO
Character
5
4
QTY
Numeric
7
2
5
UNIT_PRICE
Numeric
9
2
6
AMOUNT
Numeric
9-
2
7
DATE
Date
8
8
DESCRIPT
Character -
20
9
BILLED
Logical
1
( v - ^A ) j£i
(Payments.dbf ) Jj-JI u»Ju f - y - Na
^ £>ws>ll JyLJI o- 4 *^i^ r^ ( Payments.dbf ) al-i-JI <-*L> Ui
.( r - \A ) JSLdl
pjj ji- ( r ) pjj jj^JIj . *<-*" ^ jjl^ M ) pj JJ»JIj
(jt, jje^jIj . u^jdi usui a-sJi j*> jjl^ ( r ) (jj j*Jij . .ilaji
.zjlji a-»j J£* jiu ( o ) ^ JItJIj « ,\jU\ j^b ja> ji- ( t )
.•* f I aL^-jj ^ si ^jJI jir isi t*ji jfc* J*» y ( i ) f3j J^b
w
,UUH
m
tf'~WmWin
Field
1
2
3
4
5
6
tJ&mJi^L^. ii*.!
Field Name
»y. -....:■ -..,. --.ma
ACCOUNT_NO
CHECKJSTO
AMOUNT
DATE
DESCRIPT
POSTED
Type
Numeric
Character
Numeric
Date
Character
Logical
Width
"-S?IaSH
4
5
9
8
30
1
Dec
2
( r - u ) jsl>
&> JUI >JI il^ cilll IJLfJ ^j&\ >JL> .Liil ^
: jfttf ( Dot Prompt )
INDEX ON Custjio TO PayNo
v^UI oLUI -ki* r - \a
..*-JI JI UJUjIj jjlyUI ^ ^ ^Jl I^ ^j .j^UI J*> jLyjJIj j^l
T LkJbJUJ pj oUL-> js- iJLL, oULj JI fj>J\ .a^tJil jlji _>J liL« ,^£Jj
jjji iLjisJI »i* jli*5j .UjbJL-3 Jyji*j ilj-JI jl .J^alJ IS 'j> J/ £— . < -\
V J! t^' <J^ * J-ii " f 1 * L *«*! Cr^J o^r*" J-* i-i^ *>' — •
iiLJI oliLJL Jii^j Lpi i^UI »o* Joilij .Ujuuj *3 ,^ill *5>JI
yw
/I&1»
.^ilfrt f?> Jl ( Payment ) jLUIj ( Charges ) vJ^-JI JL*
Jl ^ap L^jt SJLjJkll »i» jjLjLij .( Historical file ) t^^b •_*!•
oULJI g. j i .'KJ J»Ul»^M £_« L . ; ..J ^Jwt JbjjlJIj iJj^aJI lytLj J>Uz>^M
y»j dJIDI JLi^l f ljiw-l pi-. **^i t/jUJI *y*uJ\ oLL-> f lk JlU ,>-,
.ZJL^l. ^Ijjl jl yjoj* J> L^ijLJI <-^ll '•*■» :*>* Cr^*i> ( Historical File )
( Structure) ^iill JSL* ^i ^ ( Charges.dbf ) Oj-JI JUL ,>u,b Jib .LuV,
^ ^Ull 1>i >~JI LL^ liUij .*L. ( BillHist.dbf ) «-- s ^ juo* ^L. Jl
.( Dot Prompt ) U*£JI • J ~L.
USE Charges
COPY STRUCTURE TO BillHist
C^jkuJ\ VcX ^ ( Payments ) aL-JI uill JL-JL J3U-. ^b ciL. .LLiVj
USE Payments
COPY STRUCTURE TO PayHist
J| L^lk- j-i jc-^3 jl\ o^-JI JX 3-JLT ^Liul c^-, JJUJI .l>>ttl ^j
«}Uc iiU»L Iaa>I ^ iLai. - ^. g-ol^j «JLft ,>• «%jJI oLl— » £-»^ <k&^
J^L, gljb .5LJI J>1 obL, J^ ^UJIj jJljillj ^LUI ULk.^lillj .**
YU
«***a
.{ t - \A ) JiLiJI o- e*^ e- 13 ^ ( Hierarchical ) ^^1 J^-Jlj
g-.UjJI juto it,-, isL>J ;jui> SJL-j f bic~\ ZJUI J>Vl ,y ,*--, iaLUJ, .oliLi
ol>Ja^JI wiJLa .1.
I ^ i_L-yJI »JUAj .L-oJLJw-ll OULUI Jj_fr J-JL*jj
. JUI J-aiil <y l**^ ,^-j ( Procedure File )
Accounts Receivable
1
ask
1. Add new customers
2. Enter new charges
3. Enter payments/adjustments
4. Print reports ;
5. Edit data >:;
6. Do monthly posting
7 Exit
{ i - \A ) j£i
VAo
juIjU&jMU
Y^v
xJ^JIaJiL.
*J*~\jj g-«I^JI oL&J 2LoJ£ll J-iL-jJI jjl*! £jJ« fji~* J— oiJI IJLft ^
cii^iJI oliL- f u*cU ^j ^>Vl ( DBase ) *UU ^1^ jl ( DBase III+ )
^ *L-,jJI »jji ^Ij^cJ ^ .j^., .( Parameters ) o^UUUj ( Procedure Files )
.( A/R ) .XuJI oLL-» ^.l:^
JS" r hicl ,>SLj, ( Routines ) >^J^> £-1^ Jx. jj^ tjL« ^* ol^liiJI «JJL»j
^i*. *;l ^i *JI I>UJI jllc *JUjcuIj l^^-J^I g-^j-JI ,>» ^Ui Iju. ^ «-»L^
^a JS\ joi j5wV ,>SJj ol^bi- oliL. Ijl*. ,Li:l ^-jj .( Library ) £-.1^ JLiSL.
wJ*s l^i Li" UiJ^ i*^.j g— fj-JI ilxS" Jjf-J Jl ^iJ3 ^j .C3J\ ,jJl, Jt tiL.
yJL, jV JJij .J-jSL'l ^-I^JI ,jj j^k; ^1 *>^iil olilll jju. SjLj ilSjL. J_c
it^^- &> ( o ) ^j, v l£JI ,y (SET PROCEDURE TO ) yH\ Jl £>_,{
Li*, .g^l^ i£Ai Je. jijiKj j>Ij oljl»j» uiL. .XjJI oLL-> g-bjj a- »aiii-j
SjfUJI J *L^ ^ ( SET PROCEDURE TO ) ^i f L*i-L ooi jul* ^Uil
i>U JL* jl-^V ^ -Jib ^J^JI J tr iij ift^ J| ^y, ij^j .( ram ) LSjII
.3/IJJI Jl ^1 ^ ^yi J* Ji J| Lib
r U ^U^ Jl aL^c ^^ v^ill JJ-b i>?J- . ( Procedure ) g-U^ JSj
^Vl f Lic-,L JJi ^ .^>i ^|^ ^i ^ ^Lic-I o-SL^ ( General )
w-LJ £-b^JI Jl i^** o^L^ JU-il Jl ^ ^.Vl Li*, .( PARAMETERS )
C- ;^a~ll ( Procedures ) *»L3I g-I^JI i^lji ju* ^Lo;! ^ IJu.j .iijuLL.
• cjLajJI OuL> KJtUjJ
v^^
AljLuitt -3.1U,
( Title ) jlj ^Jf ^-Ls^, y - \*
. f jJo— U L***^ pi, iiU ^1 ^ g-.UjJI IA* f lj^w-l ^SLi, .ZiLiJI j»j^
JJij ( Tide ) g-aU^JI p-j *JL, ( PROCEDURE ) ^% ^U^JI II* Luj,
^1 U, ( PARAMETERS ) ^1 3.L* ^ ^jUI >J| ^i/j^l jLi\ ^
fJ i JUI jkJIj .^b^JI «UxU jll* U^Ij^J ^ oj« ^Ul o}L.Ull ji J-.UI
'**&, (*k JW\ J^Jij .( Title ) jUiJI Z,L£, fJ i JUI >Jlj .LiLiJI e — <
i^LUI ^^ ^^ Jw- ^ fJ ju JUI jkJIj .JUJI cJjJIj JUJI f ^JI j^b
^ -u^ j-- j5 j^ ( Uline ) ^-idl ji U»>X. £- ( Uline ) jJcX\ ^ *^>j,
o^j a*^ j~- ^iJi ^b^Ji j^L-j .jjuai g^b^. yj pj US' ^ Ji ^.b^i
PROCEDURE Title
PARAMETERS Title
* Display screen title
CLEAR
@2,1 SAY Title
@ 2,60 SAY DTOC(DATE0) + " " + TIMEO
@3,0 SAY Uline
?
?
RETURN
i\jj LoJLLfr jj-^JjJI g-ob^JI jji TJaSj Jl ^ 4jl ZJLjJI lift (^i ^^Jtll « Lr iJlj
*3t» (^-vJI J»*Jlj CjjJIj JUJI »jJI ^jjIjj jljJjJI *.:... ^t.<i j.Ji».T,...U iili ji^
^k ajij .^ur iijii jij^Ji fj e-^i u» p-i aJ- ( do ) ^\ *a* js*
: ^JU
Do Title WITH "Accounts Receivable Main Menu"
^ I4J LJUI oUL-JI oi ( DBase III+ ) ^.L^ *-a ( WITH ) 3-tfj
Li* Juiii xjj JJjJ, .( Procedure ) ^yJI £-»lo*JI ,y ^4*ir«3 i3~- i>JI o^L-Ull
0I>jJI Jjux-w *jli ( PARAMETERS ) ,-Ml J| g-li^JI J^jj ^yJI g-U^JI
JJJJ .( "Account Receivable Main Menu" ) y>j *l\>i\ fS ^Ul al^jJL ( Title )
Accounts Receivable Main Menu 02/20/90 12:50:30
g-* 1 ^ ( Procedure Files ) oljlwJI oliL. ,y U>i r .U; ,„•?, ^1 ^.I^JI &*
II*j .UaiJI li* ^ uJUdJ UJLU ww tfill J-uJIj 4-i ^ ^jjJI LLiJI - .--,11
PROCEDURE Error
PARAMETERS Message
* Display error message.
@ 20,0 CLEAR
@ 20;3 SAY Message
? CHR(7)
WAIT "Press any key to try again"
RETURN
Cr .baj iiUJI jc— j f ^L, ( DO ) jA\ ILJ_* AiUuJ jul* £-1^1 II*,
iJLy ^^ c yL ^ .liUJI J*, wj*^. obLJI Jk; ^SU oUij Ji-Y, ( 20 ) >-JI
( Bell ) ^>*JI Jjll, US' ( DO ) ^\ £. l*JUo! ^ ^J| ( Message ) U^JI
: JUI j-Vl Ite jLLt ^i .( Message )
DO Error WITH "No such customer number!"
t'\
: iiUJI JjL,I jftl j»yu g-li^JI ui*
No such customer number !
Press any key to try again
JL&^-V {\zjw J J-c Jii^JI f jlJo-II ,>» >w, ( Bell ) ^jpll J-Jj US'
j-**ii jwb ,>. ^jtodi ^.b* i - ^
.jmI^JJ ft^ _>*j .^LjJI oLl~> «-«b^ XLuiljj -jiivZ— II liJlill uO^JI >* II*
j-«i J!A> j>-« idJi *^j .*a»w« J~-c- oULj ^ ti^vJI ,y a-5j jl J— -Jl («— J JLjO-I
: jiW 4>lj
DO GetCust WITH M_Cust_No,M_Cust_Name,M_Address,Exiting
: jftl JJL; Jl jsji j*Vl Li*,
.jujj jl J— -«JI *-| ^/vJ .jjtI.moU iili ^^t ^
.dUJb .Uji-VL fiUJI £-b*JI jLi-iy^ £j>JI f J^JU iljl lil -v
J^ U-s»j-ftj *JLiii p JJJI (— <?Ij L^UJI w*L-«JI f L5ji ,>*. «£^<JI -r
.iiLLlI
^L-Jlj U»- ill— j J*,* fSj i>rj- ^ v 1 —* f*J J^M ^^ w* ~*
.juili »j» SJjImIL »jg »" .,i.« ll
aj^j a— lj J-*JI jjj oLkd £- .Ujo-VL ^UII ^L^JU ii^JI -0
J^*JI ^ II* ji r JLk^JI jfei JJ LSLJI Jj> oULJI u* ^j
. v ^Lkll
^ Jj-j. dLWj .5LJI oLL-> £-b* ^ 1^ fj^s-i Jj- e^liy-JI U»j
.J-aa.ll Li* I;Lp ,y jL-aiJlj *»j-i
r-Y
jdjfaLsJl jaUU
ol>L»JI «JJL« «l ii[ - \<l
.( Command file ) ^Iji <j«U ^i «Li;J XLjo ^JLu oljlwJI i_*L» «LiiJ ^
d» ,> -u*-/, aUI ^1 LUT ^ ( MODIFY COMMAND ) yti\ r L*^«L JJi,
,>£- oljiiiJI dL.j .( Procedure Library 1 ) jUS-l >»j ( Proclibl.dbf ) 3JUJI
.j-Ui.'VI j-. US' Jui £j.\j, i»b J* ^jXpw ( Proclibl ) .Jill jli
P-l <JL ( PROCEDURE ) ^.VL \j^_ ( Procedure ) ^-s.^ ^-^ J^j
( Parameters ) cO«Ull f LA=J ZJU ^j .( RETURN ) ^VL ^^Ly g-L^I
^t\ >-J ;^U- JUI >-JI ^ ( PARAMETERS ) ^-Vl r LLkxJ ^
.( PROCEDURE )
.( ProcLibl ) odll ^Ijl ^^ UUI j^-Jlj
*************** proclibl ore
* General Procedure for the AR System
* Display screen title.
PROCEDURE Title
PARAMETERS Title
CLEAR
@ 1,0 SAY Title
@ 1,60 SAY DTOC(DATEO) + " " + TIMEO
@2,0 SAYUline"
?
?
RETURN
* Display error message.
PROCEDURE Error
PARAMETERS Message
\ ■ —
@20,0
CLEAR
@ 20,3 SAY Message
? CHR(7)
WAIT "Press any key to try again"
RETURN
* Look up customer by number or name
PROCEDURE GetCust
PARAMETERS M_Cust_No, M_Name, M_Address , Exiting
* - - Set up loop for validating customer number.
* - - Enter customer number or customer name and
* - - look for it.
Valid = .F.
DO WHILE .NOT. Valid
* Get customer name or number
Lookup = SPACE(20)
@4,0 CLEAR
@ 15,5 SAY "Enter customer number or name" GET Lookup
@ 17,5 SAY "Press Return to exit"
READ
* If nothing entered , return "exiting"
IF Lookup = " "
Exiting = .T.
RETURN
ENDIF (Lookup is blank)
* Lookup by name if name entered.
IF ASC(Look up) > = 65
f-i
Lookup = UPPER(TRIM(Lookup)
SET INDEX TO CustName, CustNo
SET EXACT OFF
SEEK Lookup
* if name found
IF FOUND()
* Display customers with required
* name
M_Cust_No = Cust_No
@5,0 CLEAR
@ 6,0 SAY "Number Name Address"
7
DISPLAY OFF WHILE UPPER(Cust_Name) = ;
Lookup CustNo , CustName, Address
@ 22,2 SAY "Enter customer number" GET ;
M_Cust_No PICTURE "9999"
READ
Lookup = STR(M_Cust_No , 4)
ELSE(If name not found)
DO Error WITH "Not found"
ENDIF(name not found)
ENDIF(name entered)
* Lookup by customer number.
IF VAL(Lookup) >
M_Cust_No = Val(Lookup)
SET INDEX TO CustNo, CustName
SEEK M_Cust_No
* If found, Continue, else ask again.
IF FOUND0
Valid = .T.
M_Name = TRIM(Cust_Name)
r-o
M_Address = TRIM(Address)
ELSE
DO Error with "Not found"
ENDIF
ENDEF (number entered)
ENDDO (while invalid entry)
RETURN
JJi pi, -Oiill \ifi gtt f jL Ct\Jai^\ U±A Ji-li £A\}y J\ J^*j J^j, J±
^lil "teJ .k->j&H ^illl p-l S-l^ ,J ( SET PROCEDURE TO ) ,-Vl r LL*2-L
: JLJI ^k-JI iUS" pi ( A/R ) .^Jl oLL-> ^b^ ^UJI ol>iJI OU
SET PROCEDURE TO ProcLibl
2j3>LI i^liJI. Jk ( ProcLibl ) OJill J_^»3 Jl ^a>_; ^.Vl Ijl* JLiSj
Lf ( DO ) j?l\ f IJL^-L ,-ilil li* Jib £^ ^i JidLi ^ JULj ( RAM )
L5" 1( CLOSE PROCEDURE ) Ji\ VcS ^ c >Oll ol>JJI ^iL. j^tT,
«-o JjLJI oIjJikJI t_iL> J^Ltl Jl tji>j Li* u' «£*s> j»T oljiii utLo «i ,>£-,»
( Parameters ) o^UUll JUJ v - U
ol^iJI ^I^j Jl OX.U1I JU*I ^ ( PARAMETERS ) jJil f J
£* l^jlif pi ^1 c£L*UTI Jl>al Jl ^ijj j*, .^Uu^l J-- LS" ( Procedures )
w-^j, v-3^JI {J J£j CSju>\A\ JL>il pi, .Uju ~Hj>j1\ £>\j**±\ ^J ( DO ) jJi\
LLlk. ^ jl y-w (■ DO ) ^.Vl jl* IfJUil ^ ^=11 o^L-UI jxfc ji ili>^L.
g-LWI jLi *i\> ( PARAMETERS ) j-Vl Jbu L^L* pi ^dl oU*=ll iiJ
.lk> ULuij ^'jj »-flji
r-\
r Jiiw- ( GetArea ) *— I oL>i g-U^ .Lid JJU3 i-JUl j>k-JI ^U^»
.( Area ) . ( Width ) . ( Length ) SJLJI JtfWI ol^JdU
PROCEDURE GetArea
PARAMETERS Length, Width, Area
Area = Length * Width
RETURN
( Area ) i>Lilj ( 25 ) ^yJlj ( 20 ) J>)l JUol ^ £-b,JI U* J^j
Area =
DO GetArea WITH 20, 25, Area
: j?i\ Utf" ^ ( Area ) *>Lil ,>& JI>JI jli*,
?Area
.( 500 ) *a*JI jj4& ±>^LJ
J\ JxkxJ ,>^*i} .<uoljijo-.l J-J ( Area ) j-*^' *-*ir*j »jjj-<» Li» Jx>}Lj
: ^VlfiiUij lt*U*iJ J-5 l^Ju^i £* OX.UJ" (X, Y, Z) ol^-ii-
X = 5
Y = 10
Z =
DO GetArea WITH X , Y, Z
: jfitf ( Z ) ^jiill Iwj ,>* Jlj-JI jux-j
?Z
r-v
«ljiui»aULi
.( 50 ) w*)l jj& JfeOL
c!U\A\ Jliol ^ obisJ ^si ( PARAMETERS ) ^\\ J ih>%> y^uy
.*- ( Area ) J-UI Ji. ^b^JI ^ ^ £ |>| ^ fJi&mi ^ j* ^u^JI JJ
( Procedures )ol>iJI £-1^ ^ Jui f j*ci*si 0X.UI JUJ J SJw.X. v^ ti
.( DBase ) tt;U ^1^ sk.1^ 6 jliil ^ ^.b^ ^i ^ UJ f jic^, *JJj
( GetCust ) oljJaiJI £.1^. A-ljj A - \*
\±u £* b^Jlj .a^ J.LJI ( ProcLibl ) ol>iJI aL. ^i o^SL. £-t^JI Li*
PROCEDURE GetCust
PARAMETERS M_Cust_No, M_Name, M_Address , Exiting
hJU.\ oliUH UU.'i L.U r Jiiti-j ^t^JI lift yi ( Parameters ) o^UUIj
..Ujc-rtL filill g-li^JI Jl
g-li^ jli p-l ^1 f oi»xJU Jijj Jl Isr, .( Lookup ) jJci\ J» ^»J\ J\ ^ II*
( .T. ) i-Jill SiUI ^ ( Calling Program ) tr *Ji-!l g^l^-JI Jl i^ ol>*JI
: IJLJI jjLJl J5U ,>- uUS ^ .( Exiting ) ^Jdll ,y
IF Lookup = " "
Exiting = .T.
RETURN
ENDIF(lookup is blank)
: iJ^I jt*t-JI J*» <>• *iUi> • ( *- , y | '•** 0* ij ^ii (* ( Uppercase )
IFASC(lookup)>=65
f-A
Lookup = UPPER(TRIM(Lookup))
SET INDEX TO CustName, CustNo
SET EXACT OFF
SEEK Lookup
L5j f l UJ Jiii f o^Jll otf lil L. ii^J ( ASC ) SJIjJI f LAsJ ^
J3i o^ l* ^>WI 5j £JI aji ,.15^1 U .( 65 ) ^ ( A ) o>kU ^S^l ^ i
o-Jj ^j> >Ji fJAi-ll ji ^ ( IF ) juu J^ill jjw op eUJJj .( 65 ) ^
'-&• Cr> rk 3Jl » JI "* lPj •J-s**" r 5 .; o-^j f-7 1 J*ai *ji ,^ju ia*, .ulsJ
Ji>X, >r ->l li* ^ &*J\ ^ ,j {J --lJ\ .j-^iJI »jL^L ( CustName ) ^^1
>- iJL* J JUjL f JL^-JU C UJU ( SET EXACT OFF ) ^i\ f LasJ L*
VjJWI J*-JI J! .W J! ^Oe U»j .4- ^Wl
IF FOUNDO
* Display customers with required
* name
M_Cust_No = Cust_No
@ 5,0 CLEAR
@ 6,0 SAY "Number Name Address"
?
DISPLAY OFF WHILE UPPER(Cust_Name) = ;
Lookup CustNo , CustName, Address
@ 22,2 SAY "Enter customer number" GET ;
M_Cust_No PICTURE "9999"
READ
Lookup - STR(M_Cust_No , 4)
JuljlvtJI JnUli
^3 *S\ L> Ji>^ .lk> *JL-y ^jjs. j^ pJi\ II* Jx. j^Ull f JU- UU ^j
j^^SUj *;i ^ li*j ..Jill ^^jj yj 3>>jll ( Error.prg ) oljJiiJI g-tU^ .L*iJ
oljJ»*JI «-iL» (j-^ii J->"li *y?f* j>l oljJ*> p-«ljjJ ,><• oljJa> »-«Ujj «L*JU*J
.( Procedure File )
.aJLjJI *i* «->>> 2JUI jjJbuJIj
ELSE(If name not found)
DO Error WITH "Not found
ENDIF(name not found)
ENDIF(name entered)
ii
i.j-iJI jli .l>-» o^So JLi>>. JUL jl £* ( VAL ) UIjJI >* gzs jd\ ^Ji\ J
( Lookup ) j~sci\ J> (.JLitiJll a^ju L. c,\S lil "tfl &**Si ( IF ) jl^ i^II
.Lijj> u~Jj liljLti
jtfljl -CLfc Ct^«JI JLLfi. c^j JJjJ ^iJLfr JJb- yb ( QlSt_N0 ) JJ»JI jl vt«>j
Jj^td ( VAL ) UIjJI -JLio-J dUJJj -ijiJ-ft i*-5 IfSjlio ^jUJI J-JUI jj ,>-.
^^jUI jCi JUu j~i£l\ lift ^ fci^JI ^J p .^aJLt _ r Jii. Jl ( LOOkup ) j-izll
: LJUI j^kJI Jfc. ,>* dJi -fSis •( CuStNo ) J~*JI fJy. ^UJ!
IF VAL(Lookup) >
M_Cust_No = Val(Lookup)
SET INDEX TO CustNo, CustName
SEEK M_Cust_No
&p_ IJl*j ( .T. ) Jl ( Valid ) ^-Jtdl ^ ^ J-JI & J* j>sJI ^ &U
^UJI ( Cust_Name) ^1 oi^ 3 ri r "^ % j* ^L^ 1 isUJI -^ r** Ji
■( Address ) ju ^UJI jljJIj ( M_Name) jjcl\ J *J[ J^l pJ tfiil J^— JW
U^ ULy ^^ ^ J--JI ,Jij Jj> j^i*JI fi |l liU •( M_Address ) ^1 ,>
: SJL*)I Jl* jti»j3 iJ^ 1 j>J»— "j •( Error Message )
jjjIrtU j«UU
IF FOUND()
Valid = .T.
M_Name = TRIM(Cust_Name)
M_Address = TRIM(Address)
ELSE
DO Error with "Not found"
ENDIF(not eof)
ENDIF(number entered)
ENDDO(While invalid entry)
RETURN
4-i Oj>jll gbaj^JI j.L?wl j£»J yiv t^-jJjil g-»li^JI J5l> &» 4*^i tp^^j OljJriJI
. f lkLU V>" £-M iP
v\>
J^auoJI j JU*XI j a,e-<-"j« a-J"» d* 1 -**
c^^A-JI J^IJI
jiir^rj *-— oif ^uir ©#b-
nr
JrfAMOil $ JUxtUI j VsMj" SUJUUI g*l><
JUil ^Ujjj Oj-aII ZS^ JUil ^«U^j iJi> «X»x. JU-il w-ob^jj ( Main Menu )
g» it>j£, Oji Lfl/L^ fZj Oj«-j oXJJJ ^ikiil l f fc ! J .., fl j w«> ^ Lfs-j-i JjLJI OjW
: JUI ^Vl LU5" pL> £-«l^JI II* <y ^^SU, -(j^-Vl
SET PROCEDURE TO ProcLibl
US' .jjUl J-aitl ^j Aa-jJi JjLJI ( Proclibl ) OljJ»*JI vJJu £Xi) JJij
.^U^JI LLp Jj ( CLOSE PROCEDURE ) ^1 LUS"
( \ - V- ) JSLiJL isvi.jll ULUI ^ 2-»b^JI lift j^JLij xx,
- ^ . ; •
fjy" 02/20/90 08:30:45
"
(Accounts Receivable Edit Menu) % ; ,
1.
Add new customers
2.
Enter new charges
3.
Enter payments/Adjustments
4.
Print data
5.
Edit data
6.
Do monthly posting
7.
Exit
Enter choice ( 1 - 7 )
( \ - t- ) J£ft
Jji^Oll J Jbt!=M s Srf-rfJjM JUJllH gj*
ZJUI j^LJI ^ p-»li^JI IJL» o^a'
********************* *AR ore
* Accounts Receivable Main menu
CLEAR ALL
* Declare variables as public for passing to
* procedures.
PUBLIC M_Cust_No, MName, M_Address, Message, Exiting
* Open Procedure file ProcLibl.prg
SET PROCEDURE TO ProcLibl
* if color monitor in use , set colors ■.
IF ISCOLORO
SET COLOR TO GR+/B , W+/RB
ENDIF
* Set Parameters
SET BELL OFF
SET DELETED ON
SET DEVICE TO SCREEN
SET HEADING OFF
SET STATUS OFF
SET TALK OFF
* Get the date (RUN needs abount 320KB RAM).
?
RUN DATE
* . _ Create underline variable Uline.
Uline = REPLICATEfJ" ,80)
m
Ja—aU j Jbs»)H j a,e-*Jj« »~*UI £-».*
* Set up a loop for the main menu.
Choice =
DO WHILE Choice # 7
CLEAR
* Print screen title
DO Title WITH "Accounts Receivable Main Menu"
TEXT
1 . Add new customers
2. Enter new charges
3. Enter payments / adjustments
4. Print reports
5. Edit data
6. Do monthly posting
7. Exit
ENDTEXT
@ 23,1 SAY "Enter choice (1 - 7) " ;
GET Choice PICT "9" RANGE 1,7
READ
* Branch accordingly.
DO CASE
CASE Choice = 1
DO NewCust
CASE Choice = 2
DO NewChrg
CASE Choice = 3
DONewPay
CASE Choice = 4
DO ARPrint
CASE Choice = 5
DOAREdit
CASE Choice = 6
HY
Ja^-all j JUaUl j V*-»j» a~>UN ^^
DO Post
ENDCASE
ENDDO(while choice # 7)
* Close procedure file and exit.
CLOSE PROCEDURE
CLEAR
QUIT
.(M_Oist_No)dUttll J- ( PUBLIC )^\ f lAsJ £-b*JI II* J> Ji>^Ly
«i* j.L*iJ ( >£* : i t ^» i*Lli, ( Exiting ) <■ ( M_Address ) . ( M_Name )
la* ,jf LJ" •■»*»> 0-° IpLiJl liUI J[ i»UJI ,jji 3L*>II ^>I^JI £-» i^ dl^ll
.Lul tiUI Jl £b>« "if ^j .( GetCust ) oi^JwJI ^-U^ f L*w-»V Ljuj-*' v-^y
.£*bjJI IJL* »lj£ti«rl LfJ iljj 'by Ji" ,y ol^^iill hi*
J»> ,^-jl, LiUJI Jj^ 3L.L&J ( Title ) ol^IiiJI g-li^ f LkiJ UJ -MLy
.Ui-jiU .iLi, 3LSLUI J~*w ^i ( SET COLOR ) jM\ f lj^i-l UJ J»*.}Ly
^L ZjIiSUI £• «15jj JLil» £j>£j J{ tfijj *** «j*^ll o}L»Ull £-» ^1 li*>
OjJJL JuL£JI £- a. ? ...«:. 2LU> (>i> So Jl rf afe Li" .i-^jJI lALUI ^i >-Al
.S>UJI »_*-> oljJSfl JL* J^juo ^Cw, ( Highlights ) SjSjjJI luxM ,y ^Ml
ij*.^ll ( DATE ) £>Jci\ g-li^ J^LJ «*UmiJ p ( RUN DATE ) j*%
-> JbJI jujUJI J->ju* f jl^~JU j^-i ^ ( MS_DOS ) J-aisJI f Lb; ^i
ku ( DBase m+ ) $& o- ( RUN ) ^' f 'J^- 1 ^' ^^ vw -** WI
.CwL J rV • ^ J53"il iS>. »/li
( NewCustprg ) *^L-*JI SjUI^ v - v-
OjUil f U»i ,y ixu*JI .l^fl f \jj ZiUI £-b* ,>* U^ ufeSi g-b^JI II*
li* oli dUJJ oliUI iu, J* Jui~ ,^**JI obL-> f Uii iSl l> c&j ^J. jAJI
m
JjJa-ail t JUcmVU t l t mj iJH <UU1I gJ^
{t»--y Jul* J-wJ iiU»j Ji' £^ UT J— jJI pjj *iLi>. f> AJ J-lijJI o' US' .ftjI^Sb
.JbO> >J |^j Jl>AJ jl fjj\ li* JjJb fJ&7....U
^^-J^JI g-UjJJ -——-AjJI *-JUJI ,>- ( 1 ) pJjJI f J^~ll jUiw L-JULftj
: UUI yU^I ,ji.yuy iiLUI jt— j g-UjJI jli ( AR.prg )
Enter Customer number (0 to quit) : 1001
4jjJI II* ,Js. «iiljJLJ JUi'VI rUL* J-c hi.rt.ll j.JLkl-il ^Ja'w ZJUJI jlm ^j
.>! uL> ^j LUS" ji 3--^' i" 5 ^ 1 J! gJfJU ( ) >L» Lllf ji
: aJUII aJLijJI ^fk> li>>j-« U3j ».iW...1I y^£j Lojllcj
Number already in use!
i-A*wJI Jl>aVI iLili ^jj ( Y - r • ) J^LiJIj .jJ*JI li* oLL, ^jL JUal
,>* ji ( Assistant ) juLJI ^lij, ^Ip JA> ^ UjLul ^ .ydlj .g-ol^JI IJL» ,y
.( Dot Prompt ) XkUl ij^ &> ^ Wl «>i£-" tys* &J*
USE Customer
CREATE SCREEN FNewCust
^jihii j^bJi j^c ^ju> a* ^ ^iii oijUs^i ^ ^Jb iiuji j* ^j
Li* iiUJl J* jytJi u* ^L.1 jujbw ^ ^ .( Blackboard ) i Jy ~J\ ,> Uj^
• lib ^ icj*»w* ^ ^.-oliJI (_>liSUI ^ c^?' Jr"
^L-JI f ift ^u liUil g-objJI JA> ^ *J (^UwJI ^ J-jJI ^ ol i^j
£i*t-adl _^. dL^ ^ 1 ^ s > LiLill f*~a2 jjlc tJLiu j^j I!*, .*J^o f .J^>...>U
^bi, J* JujJI ,j ( Customer Number ) J-JI ^ J^LslI ^j-aJI i>t *]l Jl
Jd*">* j JUjaltl j V-sMj" a*JU» e^»
( ACTION ) jLx^fl ,> ^1 o^j jul* JUo?l C Ui- J^ J*i*J| ^ ( F10 )
J! £/*•>* i*> { '^ ( F1 ° ) t 1 ^ -J* Jtj ^ 1 ri r •( Display/Say ) Jl *L^
(Highlight) ^^Jl ij-JI .lii»l iJUJI »L» ^ Ji^ .(Blackboard) ij^-JI
J-*JI fjj ySA ?&*-& oi c<*; '-^j -iP*JI g* J* yijJI ( 9999 ) f l3,Vl .li £.
Add New Customers
liffisii|i||Ks|!©;& ; :; ^yW^Mi^f:
™g3*Miis ,; h= 5g l?W***»Mil*^;
paitiancswoaavs): rannncn -r,,:
lialauce(,90 days): gpjJJJJJ]
liiilanc^^
j^-JI ^ i»^i> ( NewCustprg ) j^—j «}LjJI iiU»l ^i pj&i-ll g-l^Jlj
: 2UUI
4cqC3|E3|C3|e3|C3|C9|C3|C3|C3|ca|t3|C3(C3|C ^J^U/fSlQt' TYTtt
* Add new customers to the A/R system.
* Called from AR main menu
USE Customer INDEX CustNo, CustName
* - - Store largest customer number to memory variable
* - - NextNo.
GOBOTT
Next No = Cust No
H<
J**-aJI a JL**VI s j*-*^ -umh gJj,
* Print screen title.
DO Title WITH "Add New Customers"
* Set up loop for adding customers.
Exiting = .F.
DO WHILE .NOT. Exiting
* Increment customer number by 1
Next_No = Next_No + 1
* Suggest next number , but allow user to change it.
@ 15,5 SAY "Enter customer number (0 to quit): " ;
GET Next_No PICT "9999"
@ 17,5 SAY "Press Return to accept number "
READ
* If zero entered , return to main menu.
IF Next_No =
Exiting = .T.
LOOP
ENDIF
* Check to see if number is already taken.
* If it is,loop and ask for another number.
SEEK NextNo
IFFOUND0
? "Number already in use" , CHR(7)
LOOP
ENDIF
* - -If next number isn't taken , add new record.
* - -using FNewCust format screen.
APPEND BLANK
REPLACE Cust_No WITH Next_No
J*±-all j JUiJfl j a^-s^j^ a*jUH gj*
REPLACE Term WITH "NettO"
REPLACE Last_Updat WITH DATE()
SET FORMAT To FNewCust
READ
SET FORMAT TO
@4,0 CLEAR
ENDDO (While not exiting)
* End of program
CLOSE DATABASES
RETURN
J^t-JI fjj tiLjj ,jj ( Next_No ) y-Jidl f hia^\ g^UjJI II* J* JL>^L,
.( Customer, dbf )
( Newchrg.prg ) Jj^JI ^>- S»L>[ ^li>. r - Y-
A^-JjJI JuSUJI ,j-o ( 2 ) *JjJI .JLklJll jL£w LoJUft £-olJjJI lift J-J«-ij pZj
.( AR.prg ) ^-L)^
.Liil \,1 f jL g-b^JI I!* i^LSJ, .( Charges.dbf ) «***U J^-JI W>* ^Wl
^ ,>~JUI j^J\ LU£, eUjj ( FNewChrg.fmt ) o^-JI cbU J-juo JLsLa
USE Charges
CREATE SCREEN FNewChrg
Z~£JI Ji> Ijlc- U ( Charges.dbf) oliLJI »jl*13 aL. Jyfa. J* J~~3 ^
^ (FNewCust) .^-*JI JU-il iiU <p ^Jb- LTj .(Billed) jijdl, (Amount)
jUS?l J^j ( F10 ) c LUll r lj^-L aJij .J-axJI ^ J-JI ^Jj Ji> LL*
.( Display/Say ) Jl ( Action )
m
J^AuOll j JbiisVI j S^iM^jJ) 2*jUUl ^il^
,( f - T* ) J&JLlL iUv^jil »j_j*-aJL -kmOj LiLiJI f ^^ i 1 ^ > -« «LfU^/l JLLiSj
Jl pjiaUl £U»w liUll J> ^Jj .( Charges.dbf ) vi^-JI ii> <JJU Jji> ^^
olj^iJ^o XjL&I w dUJJ ,Aj JLs>UJI obLJI JjAju . LjI <Clj^£j J,.yfc j .ll j^-,1 Zjyui
f lo^i-,l ^ dJ'i JuiuJj •JLi-i'V' ^^ J! ( M_Address ) j ( M_Name ) i/IJJI
: ^lf dUij iALUI (^^3 g-U^ JeJuu- J ( MODIFY COMMAND ) yS\
MODIFY COMMAND FNewchrg.fmt
l ^wJUJI {)jja~m}\ 2JcS *Xj *J
@ 4,33 SAY "Name:" + M_Name
@ 5,33 SAY "Address:" + M Address
o J-— jJLN LiUJI JSLi Jx «L> LfLjju j£*j oL3ljb."yi jl iii>X« *-«
Add New Payments
Customer Number ; 999
Check Number : PEroiroi
Date
EEHEEl
Part Number :EH2H Qty: EEffiHEH Unit Price: H2MEH
Description :
xxxxxxxxxxxxxxxxxxxxxxxxxx
Curser Movement by Up , Down , Left , and Right arrow keys ;
Insert Mode :1ns
Save: A End ;orMY
Delete Characters : Del
Abandon : *Q
( r - t- ) j£i
^oljVl LU5" <^u Jjjudl IJj. JUil a* LaLJI £*\jJ\ Jklvwo ^u ^j
.(Dot Prompt) XLiUI s^l* ^ JJUI
J^juall s JUj=VI s a^-^-ijJI I.JUH ^1^
M_name = "Mohamed"
MAddress = "12 Hegaz street"
USE Charges
SET FORMAT TO FNewChrg
APPEND
lilj .,JL, ( Format File ) J-SLliII .jL. u i J*. Jju Ijj. ,jli iiLJI o^J» lili
«Li;l ^» d -k>^-i> .J-iLiJI uUL. ^ j-ju, Ibi ij^j Jx. Jju IJu> op ^3 J
J* V ^iUij jL^V 1 • W JJ ( MAddress ) j ( M_Name ) i^lJJI oU*i*
. Lsi L»i .( Charges.dbf ) o^JI ii^> uiL. Jji* ,^_i» ~hj>jj> c^-J ol^jdll
^•Ijjj J!A> &* UjLtil ^ cilj;Jdll »Jub jli ( NewChrg.prg ) iiU»VI g^L^ JuLj
.**,£ j_« ^JJI ( GetCust.prg ) cAJ&AS
Jji\£ *jLi»"jfl gjbjj jjJa-> JbU3" *iy
************** NewChrg.prE.
* Add individual charges to the Charges database file.
* Called from AR main menu
* Print the screen title
DO Title WITH "Enter New Charges"
* Open both Charges and Customer databases.
SELECT 1
USE Customer INDEX CustNo , CustName
SELECT 2
USE Charges INDEX ChrgNo
* Set up loop for adding entries.
Exiting = .F.
DO WHILE .NOT. Exiting
* - - Get customer name or number , and validate.
m
jejuni s jujJh t ****** a^un %a m
SELECT 1
DO GetCust WITH M_Cust_No, M_Name, M_Address,Exiting
* — Allow user to enter transaction data using FNewChrg screen.
IF .NOT. Exiting
SELECT 2
APPEND BLANK
REPLACE Cust_No WITH M_Cust_No
REPLACE Date WITH DATEO
REPLACE Billed WITH .F.
SET FORMAT TO FNewChrg
READ
CLOSE FORMAT
REPLACE Amount WITH Qty * Unit_Price
ENDIF
@ 3,0 CLEAR
ENDDO(While adding new transactions)
* Return to main menu.
CLOSE DATABASES
RETURN
: 51L. JUI J^Jl iiUI ^ ( Amount ) *~SJ\ Jl :L^JI liUI ju,i lil
Amount = 1,05 * Amount
(NewPay.prg) aIj*JI aS>- mU ^.b^ i - r»
ij\ UUII &. { T ) fSjl f JtJoJll jliiw L.ju* ^b^JI IJL* J^Lij ^
iU-JI !i> oLLu iiU.1 yj ^-.U^l II* fjjiu*, .( AR.prg ) g-U^-U
.( Payments.dbf ) iLUI tf>, ^UJI obLJI ;jl^15 JL. Jl ( Payments )
m
J**»all j JUiJU j a^-HMj" a*J>« £<I.h
JU-jl iili «lijl p^j vi^> o^oJI iS^ ZiU>l g-oL^j L*Lj JJLj ^U^JI II*,
USE Payments
CREATE SCREEN FNewPay
Jji> J^*.iQ *Zjj .2 A Lt .ll *— <^ JLoUJI oljL^-VI *jlj3 ^fkt UUJI »jj> jjj,
L/ .( Posted ) J->^l JJfc- .L1l-,L L^ ( Payments.dbf ) iL-JI i5> OL.
ZJL> Jl ( CuSt_NO ) J-*«JI (Jj JJ> J-y^J ( F10 ) ^Ui. f ljL^LJ pJL;
yj&i-JI SkJ^ Jjjus ^i j-o L»^» £j*aj ^ ( Display /Say )
f |jL^-l ^ Jli^l ^^ JI ( M_Address ) j ( M_Name ) ,>i^l "^j
ji> ,>* ( MODIFY COMMAND ) ^Vl f Ij^-L dJij .iiLJI Uu>JI ^
: JUI >-JI Lltf
MODIFY COMMAND FNewPay .FMT
@ 5,35 SAY "Name:" + M_Name
@ 6,35 SAY "Address:" + M_Address
.( I - V- ) J5LUL i«-i.jll »jj~JL. jt--a3 LiLiJI ,^-^u ,>« •W^? 1 ^J
,^Lj L^ .( Payments ) j>Ijl- iS> ^? iiLi.1 ,y LiLUI a* f LmiJ ,^^-uy
A3U»I iUy -< jr.* Ji J— —Jl ^UjJ JLLft ( Adjustment ) -k*^ ii> J\ 3-»L*j
.( Descript ) ui-»>JI Ji> ^i S-JJI »Ift £j>> vr— cH'j 3 (^
rn
Add New Payments
Customer Number : 999 Name :
Check Number : W2MM Address
Amount imSMM
Description :
xxxxxxxxxxxxxxxxxxxxxxxxxx
Curser Movement by Up , Down , Left , and Right arrow keys" j
Insert Mode : Ins
Save : A End if or A W
Delete Characters A:Del , :j ;l; ] 1
• Abandon' : 'i*,Q r j;|r ! ri&plph'>jij
( i - Y- ) J&i
olj-LiJI 2-*Ujj fbJwJ j^Xj (Jj-iJI tSy* *JLi>l g-*L>jJ !......:-IL *j L*Sj
uj- Uj .dill J »j>j ^ oSliir, ^jj jl J^*JI ^J ^ cl^kJI ^ ( GetCust )
oli^Li-l ^ ( NewChrg.prg ) J^-JI !S> iiU»l g^ jaL- j-LjJI jli Ja»^L;
^ *JA> ( MODIFY COMMAND ) yH\ f ljii*L *^-j ^ dJit .L> Jjjj
dJij *j L^iMl caLusll .1^1 ^ ( A KR ) LU& ally, .jlu»JI Oill J> alll 11*
.g^U^JI II* ^Iji ju^s jLJUI jjIuJIj .jlu> &> oLS" ^ Voj
* Add individual payments to the payments file.
* Called from AR main menu
* - -Open both Payments and Customer databases.
SELECT 1
USE Customer INDEX CustNo , CustName
SELECT 2
USE Payments INDEX PayNo
fYV
J^AuLiM j JUiJtl j Ij-sMjll a^lUM £-lw
* Set up loop for adding entries.
Exiting = .F.
DO WHILE .NOT. Exiting
* - - Get customer name or number , and validate.
SELECT 1
DO GetCust WITH M_Cust_No , M_Name , M_Address , Exiting
* - Allow user to enter transaction data using FNewPay screen.
IF .NOT. Exiting
SELECT 2
APPEND BLANK
REPLACE Cust_No WITH M_Cust_No
REPLACE Date WITH DATEO
REPLACE Descript WITH "Payment"
REPLACE Posted WIHT .F.
SET FORMAT TO FNewPay
READ
CLOSE FORMAT
ENDIF
@3,0 CLEAR
ENDDO (While adding new transactions)
* Return to main menu.
CLOSE DATABASES
RETURN
( AREdit.prg ) J-j-dl ^.b* 6
- Y»
( EdCustprg ) ,%uJI ZiU»l ^i*s £*Li^ f lj*^-L .^LjJI c»LL-> Jja*j ^
aIjl-JI 15> j-jjud g-bj^ ( EdChrg.prg ) L>^\ IS^ J_^c js-^^j
J^jucJI U515 ^^ 3-i> ■>* g-U" *** J> r^*^' r^ •( EdPay.prg )
0— < 5 ) jJjJI jJAsJII jlsiy L.ju* ^-UjJI li* J^JLis f*t •( AREditprg )
PJ 1I 3L5UJI ^fto g-lijJI IA* Js*^ ■«*, •( AR.prg ) e*l5,JJ Ss-jpi UUII
.( o - V- ) JSLUL
rYA
J^audA j JbijaMI 4 1*-+JjH a*JUM ^yf
02/20/90 08:30:45
(Accounts Receivable Edit MenuJ
1. Edit Customer File
2. Edit Current Charges
3. Edit Current Payments
4. Return to main menu
Enter choice (1-4) |
( d - Y- ) JSLa
******************* /^RJEdit.nrg
* Menu for editing the A/R System.
* Called from AR main menu
EChoice =
DO WHILE EChoice # 4
CLEAR
DO Title WITH "Accounts Receivable Edit Menu"
TEXT
1. Edit Customer File
2. Edit Current Charges
3. Edit Current Payments
4. Return to main menu
ENDTEXT
@ 24,3 SAY "Enter choice (1 - 4) " ;
GET EChoice PICT "9" RANGE 1,4
READ
m
J,,*- all j JU*dll 3 i*~+ij» will #1*
* Branch accordingly.
DO CASE
CASE EChoice = 1
DO EdCust
CASE EChoice = 2
DO EdChrg
CASE EChoice = 3
DO EdPay
ENDCASE
ENDDO (Echoice # 4)
* Return to main menu
RETURN
( EdCust.prg ) J^l JUL JjjjC \ - 6 - y*
c%uJ\ JUol LiU ^-ii ^ ( FEdCustscr ) J~*JI uUl. J^ JLiLl
Jl ^ __-" v^u o'j^JI o' j-*j ■»-=>> •J3LsH £- ( FNewCust.scr )
jujl^JI oilll ^ J-**" *-iLi uiL. j— ; ^ dLIUj ( Edit Customers )
: jftf aUi, ( FEdCust.scr )
COPY FILE FNewCustscr TO FEdCustscr
: Jlsll >JI Llrf pi ^
MODIFY SCREEN FEdCust
^ J^JI J^jl*5 i^y ( Blackboard ) hj~-U ^ i^ 1 A* i?
C^jic pi ( Edit Customers ) jIjJjJI Jl ( Add New Customers )
.( "\ - Y- ) JSUI Jz\ .«Ju»»JI iiLJI
rr-
J-.*«afl t JU*KI t i*»+ijl i~M& %***
Edit Customers
Customer Number : 999
Customer Name: im?m!Mm!MBa
Address :lWMUmui?mtt^^
Starting Balance i^MESl Terms : f tSSSHHBSSH,
Balance(30 days): EUHSKH Balance(60 days): EEEERH
Balance(90days):eSQ!QES] Balance(90 +days):GSSEESQ
( -\ - r- ) j£j,
g^l:^ jijuki--; jj»j ( EdCust.prg ) ,j— j J-— *il t-iL* J^H 1 * 3 g-^^oiJ
£*LJI Ji- i^X, j\ ju3^ J~*JI ,>& £~JI ^i ( GetCust.prg ) ol>*JI
* Edit Customers information
* Called from A/R Edit menu
* Print the screen title.
DO Title WITH "Enter Customers File"
USE Customer INDEX CustNo, CustName
* Set up loop for editing.
Exiting = .F.
SET DELETED OFF
DO WHILE .NOT. Exiting
* GET Customer by name or number
DO GetCust WITH MCustJNTo , M_Name , M_Address , Exiting
HT\
J-4-aH 3 JU*Jil s a^-.Hj" aittll £■!.*
* - Edit using the FEdCust screen (if not exiting)
IF .NOT. Exiting
SEEK M_Cust_No
SET FORMAT TO FEdCust
EDIT
SET FORMAT TO
@4,0 CLEAR
ENDIF
ENDDO (While not exiting)
* Return to main menu
SET DELETED ON
CLOSE DATABASES
RETURN
( EdChrg.prg ) .Jj-all uUu J^ y - © - r»
fij JUoL r J ^T .,.JJ 2— t ( Charges.dbf ) .J^JI ub> Jjjul; £*Ujj
(y>lii» j.l^Jo-,1 ^ «_a11I ,^3 J-**II lis alSLo jujl>ixI ju—l ji J_--»
Jl Jj-^jJJ J-uJI II* t^U Ji> JS" ^^ ^ ( PgUp ) j ( PgDn )
**> J^ <> ( FEdChrg.scr ) LiUJI p jio_3, -ULjug ^^JLLdl ZS>JI
( FNewchrg.scr ) uj-aJI SiU.1 iili £~J ^i. LiLJI .i* *liStj .o^-JI
: JbJI >-JI LL& dilij ( FEdchrg.scr ) J^jucJI iili ^i
COPY FILE FNewChrg.scr TO FEdChrg.scr
: JUII >-JI 1j\X rifS
MODIFY SCREEN FEdChrg
j| 3-iLiJI jljJLt J-jJUuj ( Blackboard ) ijo--JI ^j-e. ^ Lr ^>-
j.jLio— JJ £b^J iiLiJI JJu.1 oLJuu ZjU>[ pSj U ( Edit Charges )
j ( PgUp ) ^LlL. r L*s-L tf>l ii> Ji S5> ,>- JLSfll Li/
(PgDn)
T-ft
J^MMiM s J*"® J »*-*Jj« a-*"" ***
o^U-JI j-i>. ■:v,*~ j Oj-JI Ul- J»i>j ( Customer.dbf ) .**-*fl
li* r l J* J^JI fi J— -II U« ^ wl J^ 1 J* ( Record Pointer >
: jA\ SkJ^ iiLiJI wiJu J^JLw Ji> o* •« u * riJ -°^J ik**"
MODIFY COMMAND FEdchrg.fmt
@ 4,33 SAY "Name:" + TRIM(A-> Cust_Name)
@5,33 SAY "Address:" + TRIM(A-> Address)
fi :<ii J* <JSjS &jkJ\ CfiMi *~»WI oLSI^V 1 «j' *&**-» *r-*i>
a> J^ ,y I^o^lJI iilill »jj-» g** { V - Y • ) JSLiJIj .ULJI
Edit Charges
Customer Number : 999 Name :
InvoiceNumber :BmD ' ^y^ ^\^^.
Part Number : BEEH QtyiijiBBEIUp Unit; Price: HHSJKH
Description : BflM^MMfl^^
Curser Movement by Up , Down , teft , and Right arrow: IreysS
Insert Mode : ins
Save : A End . or A W
: Delete Characters : Del;
Abandon t ; A Q ; f t;S«? ;
( V - V- ) JSLi
.XjJI tiL. ,y ij>jll ( Record Pointer ) o^U-JI j2.y* ^ ^»ci\ ^j ^SUj
( CusLdbf ) .}U*JI «yiL. a-j J35U .Ltil u-« jjI^j J-JiJI p-J J*. Jj-^JJ
( EdChrg.prg ) Oj-JI .JL. J^juj g-»b^ JiU ,>» dJij ( Charges.dbf ) oij-Jlj
rrr
Je*»aJ| 4 JUjsJU j irf-rf-JjJI a^jllH gj*
* Open both Charges and Customer databases.
SELECT 1
USE Customer INDEX CustNo, CustName
SELECT 2
USE Charges INDEX ChrgNo
* Set up relationship
SET RELATION TO Cust_No INTO Customer
t \x> J-~*Hi u" 1 ^ 1 J^ 1 u-ii J* U5la dui ^jll Jj*o SuJ\ Li*,
JUL, .iiLiJI J-p I**,* ^ i^JI **>» ,>* >J' ^4 J-^ 1 fjj J*
U* L*li. tf> ^1 JjJug .LSI iiLiJI J* U-jy^. a\j^j J~JI ^-1 Jk.
******************** EdChrg.prg
* Edit invalid charges in the charges file.
* Called from A/R Edit menu
* - -Print the screen title.
DO Title WITH "Edit Current Charges"
* open both Customer and charges databases.
SELECT 1
USE Customer INDEX CustNo, CustName
SELECT 2
USE Charges INDEX ChrgNo
* Set up relationship
SET RELATION TO Cust_No INTO Customer
* Set up memory variables and loop for editing
SET DELETED OFF
Exiting = .F.
Jrf^-aJI j JU*VI j ****** i*jUUI $4 jf
DO WHILE .NOT. Exiting
* Get Customer by name or number
SELECT 1
DO GetCust WITH M_Cust_No, M_Name, MAddress, Exiting
* - Edit the transaction, if valid and not exiting
IF .NOT. Exiting
SELECT 2
SEEK M_Cust_No
IF FOUND .AND. .NOT. Billed
SET FORMAT TO FEdChrg
EDIT
CLOSE FORMAT
ELSE
DO Error WTTH "Already posted.Make adjustment"
ENDIF
ENDIF (not exiting)
@4,0 CLEAR
ENDDO (While not exiting)
* Recalculate amount field.
SELECT 2
REPLACE ALL Amount WITH Qty * Unit_Price
SET DELETED ON
CLOSE DATABASES
* Return to main menu.
RETURN
IF FOUNDO -AND. .NOT. Billed
m
J^^uaJI 3 JUaJII j irf-sfj^H iujUII ^^
j^ Jja*JI J[ (.JiwJI *>j3 ( Error Message ) Iti iJLy ^fki aJL*^;
aJLc elf^l JLkj iz?OL> LS* .iJjmJI JtfJ> i_iL« Jl »JuJl> "*Sj> iiU»l Jj,i>
: JLJI >~JI «U,| J^JucJI
REPLACE ALL Amound WITH Qty * Unit_Price
.J^jJI IJ4J U£JI j^-JI i^r ,y S^L^
(EdPay.prg) Jj-JI Ul* J-jju r - a - r«
i-JL; UjLijI *Ly JjJloJI ,_,* ( FEdPay.scr ) LiLJI ^jlJcl-j j*, .Zia*-JI
: ^tf dJij ( FNewPay.scr ) iiliJI
COPY FILE FNewPay.scr TO FEdPay.scr
J! jlj^JI &*** c^ ( MODIFY SCREEN ) ^1 f Lis-I pi ^
j ( PgUp ) ij>kJu> f IjlJ^L JL^UJI cilalijjN iiU»lj ( Edit Payments )
■<*>! J! *> *• J^ 1 u* ( p g° n )
^ ( MODIFY COMMAND FEdpay.fmt ) ^Sll f L&zJ ^ US'
^LJI pJi-U UX &> &* dJij .LiLDI ,y *Jl^tj J--JI p-l Jl>>|
.( FEdpay.fmt ) JLiLUI JL* J
@ 5,35 SAY "Name :" + TRIM(A -> Cust_Name)
@ 6,35 SAY "Address:" + TRIM(A -> Address)
.JUo^l LiU ljj^> f^ji ( A - Y • ) JSLJIj
m
JjJta-aJI s Jl^aVI s *****# Uim fr»'>*
Edit Payments
Customer Number : 999 Name:
Check Number zWBEBBM Address:
Amoun : WSSBEl Date: EffiEQZH
Pes<rtPtion : WMWtt^^
Curser Movement by Up , Down , Left , and Right arrow keys
Insert Mode : Iris
Save: A End or A W
Delete Characters : Del
Abandon;: A Q
I A - Y- ) JSLi
: XJLJI jjAmJI ^o oj£~i J^***'" T^^jii
* Edit invalid payments in the payments file.
* Called from AR Edit menu
* Print the screen title.
DO Title WITH "Edit Current Payments"
* Open both Customer and payments databases.
SELECT 1
USE Customer INDEX CustNo, CustName
SELECT 2
USE Payments INDEX PayNo
* Set up relationship
SET RELATION TO Cust No INTO Customer
Set up loop for editing entries
VTV
J-iuoJI j JU*HI j a*-*-^ *JU» $*m
SET DELETED OFF
Exiting = .F.
DO WHILE .NOT. Exiting
* Get Customer by name or number
SELECT 1
DOGetCustWTTH;
M_Cust_No, MName, M_Address, Exiting
* - - If not exiting , and transaction not already
* posted , proceed with edit.
IF .NOT. Exiting
SELECT 2
SEEK M_Cust_No
IF FOUNDO .AND. .NOT. Posted
SET FORMAT TO FEdPay
EDIT
CLOSE FORMAT
ELSE
DO Error WITH "Already posted, Make adjustment:'
ENDIF
ENDIF (not exiting)
@4,0 CLEAR
ENDDO(while not exiting)
* Close databases and return to edit menu
SET DELETED ON
CLOSE DATABASES
RETURN
VTA
«]UR »M-» ^*i ^J 1 **
**u*ir *bu» ©«kH jrfjUa
rn
<]UaH juLLha. £dijj yij
Ua
JJL. ( Reports ) y js^\ ^ *«***-. Jx ( A/R ) .*-*N oU~~ £-b*
( Summary reports ) v^l ^UJIj JL^+JI ^UJIj ( Invoices ) ^JljJLlI
j^jiii, oliLJU aLjjJI Lolill f j*w-JLI >^3 jd\ ( Aging reports ) *~->JI .^ytfiMj
•j^Lj ^1 ( Historical Reports ) 2-JuyUI ^Uill aUj^j .J~**ll 1*^1 L-jikJI
ijL*»| oUjj Jj. .Lj f LkJI ,y loM\ c^UjuJI J>>.lj oljlytfl iUwl J*
.oU>JLJ
,>. ^s- ji t \&u sjjcis &> t i^i j* >p ^i g-UJi us* jii jsyi ^
g-l^JI J-ii3 ifr^ b\JG>H\ i\ji L.JUL* Uj-aij g^ljJI Jut* ^ JL-JlEll JiL-jJI
oX»L*llj ( Procedures ) ol>biJI g-*!^ flJ^«iJ |t-~j <J>— •* *JJJJj .^Ltfj
.jjijUJI ,>* iik^-. ^IjiV g-olj; p— -a; (►=-* Li" £*UJI juu ^ ( Parameters )
( ARPrintprg ) *~*JSJ\ ji>\M\ i*sl5 £.b>. N - y\
.^LjJI oLU> g-LJjJ ? ■ ...ytl i-iUII ,>• ( 4 ) fVI f Jiiti-il jL^w Ujlu.
.{ \ - Y\ ) JSLUL bvfejll oljLSVI 3LSU jjto (A/R)
1. Wnt^6ntW^Jstsifara^te^^]^ ; ^;
2. Print monthly siinMn^y;g^ ; (
3. Print aging t^wj^M^M^i^\iMiS
4. Do quick looking of customer status
6. Retruh tdiiiirinOT«*uK¥^l^pf^S
Enter ;■ choice?( ii^^MM^W^^0&P^M
( \ - V\ ) J5Li
i3 v^y -(Invoices) j^ljill UUt al^ Ujllc ^jSc^j J,Vl jL^")Hj
V£\
iltrfJI aLUa £*b>j j^jltl
^jl^ill j^U, j^ ^| ^ j^ij ijJt L^i 6 l.ju^i (3,2) o'A^'j
.4j ^UJI ijL-pJI i«»ly. J^l JLj^ UjLUi f JliCw ( 4 ) fJj jLSVIj
^JLiii-JI 5JLC.LJI vl— > ^ J4~jLi oLLj ^1 I**^ ^ ( 5 ) »Jj jLjli-^lj
J ^ dte±Si ( ARPrint.prg ) yjsdl *~~£j\ i*iUJI ^^u ^UJI g-U^JIj
: iJUl jjiuJI {r* Jj&o, -tf>Vl Ju-tA/" ** 5li " £"Lrf 0-* £*lo;
********************* ARPrint ore
* Menu of Print options for the A/R system.
* Called from A/R main menu
PChoice =
SET DELETED ON
DO WHILE PChoice # 6
CLEAR
DO Title WITH "A/R Print Menu"
TEXT
1 . Print monthly statements
2. Print monthly Summary
3. Print aging reports
4. Do quick looking of customer status
5. Review history
6. Return to main menu
ENDTEXT
@ 24, 1 SAY "Enter choice (1 - 6)" ;
GET Pchoice PICT "9" RANGE 1,6
READ
W
*1Lj»H juLL^x £tb* n jlt»
* Branch accordingly.
DO CASE
CASE PChoice = 1
DO Bills
CASE PChoice = 2
RepForm = "ARSumm"
DO AgeSumm
CASE PChoice = 3
RepForm = "Aging"
DO AgeSumm
CASE PChoice = 4
DO ARStat
CASE PChoice = 5
DO ARHist
ENDCASE
ENDDO(PChoce#6)
* Return to main menu
SET DELETED OFF
RETURN
is* JuLj JJ. jLij,, ( 3 ) jL^VL, ( 2 ) jL=Mfl of g-b.JI U» ^ Jw-X,
t—. U iJU JS" J Ubiu* j^jt; ,>u f-b^JI ^j ( AgeSumm ) ^.b^JI
.Jul, L_» rL-iiVI
( BillProc.prg ) oljLiJI JUL y - x\
*i^JI ^1^1 £*lij* i>>j vi>LLJI i*5li u^UJI jA-JI g-b^JI ^ ±^Kj
^UJI ( ARStat.prg ) ZJUJI jlu^s g^byj ( 1 ) jL>VL ^UJl ( Bills.prg )
J^ i*^ iaLjJ, .( Invoices ) ^l^iJI icLt ^ ^Uuc^ L*j ( 4 ) jLi^L
( PrintBills.prg ) ol^iJI ^b^ J* ^^^ ^ .( BillProc.prg ) * r ,,. ,-,
ilj lili >~JI ^3, jUsL fJ JL ^j ( RowCheck ) ^^-u >T g^b^ Jl iiUVL
rtv
^JUdl -.LUa. ^^ ^ jtta
v J h- : ,Jj- JJi o^J »jLAi[ .J^-J' ( Proclibl ) Cil > lwJI OL. ^i Iftf g-lyJI
c—Jj •( DBase III+ ) £* ,o*iJU oLKJI gJU- ^ >I oLK ^JLui r lo»^.l
cjj k-i^JLkil oljLiJI i_«Lo pzi j^j &~> c^LjJI oLL*> p-*^ ^ 1-ifJ *>l> tilL*
.g-bjJI ..US' ,y ^j, 1 * cljLiJI oliL. iJiiu jlj dUJJj .oUi juu *3^UI ^ *>UJI
: ZJLJI jjk^Jl &> jjSo ( BillProc.prg ) «JUIj
******************** BillProc.prg
* Print a bill.using procedures PrintBills and
* Rowcheck Called from Bills.prg and ARstat.prg
PROCEDURE PrintBills
PARAMETERS M_Cust_No , Printer, Status
* IF printer , print address, date in English
CLEAR
Page = 1
IF Printer
EngDate = CMONTH (DATEO) + STR(DAY(DATE()), 3) + ;
V + STR(YEAR(DATEO), 4)
@ 1,0 SAY "My company , inc."
@ 1,60 SAY EngDate
ROW = 6
ELSE
ROW= 1
ENDIF
* Print Customer name and address Using
* Row variable to control display and eject.
SELECT 1
IF Cus_Name # " "
@ Row,0 SAY Cus_Name
rii
ENDIF
@ Row + 1 ,0 SAY Address
Row = Row + 4
* — Print customer number , terms and statrting
* — balance from the customer file .
@ Row,0 SAY "Customer No, : " + STR(Cust_No, 4)
@ Row +1,0 SAY "Terms :" + Terms
@ Row+2,0 SAY "Balance of " + DTOC(LAST_UPDAT) + ":
@ Row+2,25 SAY Start_Bal PICT "999,999.99"
@ Row +3,0 SAY Uline
Start = Start_Bal
Row = Row + 5
* Print heading for charges .
@ Row.O SAY "Inv. # Part Description QTY"
@ Row,43 SAY "Price Total Date"
Row = Row + 2
* - - Select charges database :list and total current
* - - charges.
SELECT 2
SEEK M_Cust_No
Tot_Charge =
DO WHILE Cust_No = M_Cust_No .AND. .NOT. EOF()
IF Status .OR. .NOT. Billed
@ ROW.O SAY Invoice_No
@ ROW,7 SAY Part_No
@ ROW, 13 SAY Descript
@ ROW,34 SAY Qty
@ ROW.39 SAY UnUPric PICT "999,999.99"
@ ROW,50 SAY Amount PICT "999,999.99"
ru
jilUall .aljUiit jubjj >rfjUL>
@ ROW,62 SAY Date
TotCharge = Tot_Charge + Amount
ROW = ROW + 1
* Make as billed if not a status check
IF .NOT. STATUS
REPLACE Billed WITH .T.
ENDIF
ENDIF(status report and not already billed)
SKIP
ENDDO (Cust_No = M_Cust_No)
* Print payments heading .
@ROW+ 1,0 SAY mine
@ ROW+2,1 SAY "Payments / Adjustments"
ROW = ROW + 4
* Check row position if displayed on screen.
DO RowCheck WITH 20,64
* Select Payments file : list and total
* payments/ adjustments.
SELECT 3
SEEK M_Cust_No
Tot_Pay =
DO WHILE Cust_No = M_Cust_No .AND. .NOT. EOF0
IF Status .OR. .NOT. Posted
@ Row,0 SAY "Check r
@ Row,9 SAY Check_No
@ Row, 16 SAY Descript
@ Row,50 SAY Amount PICT "999,999.99"
@ Row,62 SAY Date
Tot_Pay = Tot_Pay + Amount
ROW = ROW +1
m
iJU-Jl *LUa. j^b^ >rfjUUi
* - - Check row position if displayed on screen
DO RowCheck WITH 20,64
* — Mark as billed if not status report
IF .NOT. Status
REPLACE Posted WITH .T.
ENDIF
ENDIF(status report and not already posted)
SKIP
ENDDO(while Cust_No = M_Cust_No)
* Check row position if displayed on screen.
@ Row,0 SAY Uline
DO RowCheck WITH 17,56
* - - Print starting balance .total charges, payments,
* - - ending balance , and thank you note.
SET FIXED ON
@ Row +1,5 SAY "Previous balance :"
@ Row+1,25 SAY START PICT "999,999.99"
@ Row+2,5 SAY "Total charges :"
@ Row+2,25 SAY Tot_Charge PICT "999,999.99"
@ Row+3,5 SAY "Payments received"
@ Row+3,25 SAY Tot_Pay PICT "999,999.99"
@Row+4,5 SAY "Balance due :"
@ Row+4,25 SAY (Start + Tot_Charge) - Tot_Pay PICT "999,999.99"
SET FIXED OFF
IF Printer .AND. Status
@ Row+8,10 SAY * * * Duplicate Invoice * * *
ENDIF
IF Pritner .AND. .NOT. Status
@ Row+8,5 SAY "Thank you"
ENDIF
rev
xlUall juLLiu gjb^j ^^jlla
* Pause if not going to the printer,
IF .NOT. Printer
@ 22,0 CLEAR
WAIT
ENDIF
* Done printing bill, Return to menu.
RETURN
* Procedure for checking row positions on screen or printer
PROCEDURE RowCheck
PARAMETERS ScreenMax, PrintMax
IF .NOT. Printer .AND. Row > = ScreenMax
@ 23,0 CLEAR
WAIT "Press any key for next page"
Row = 1
CLEAR
ENDIF(Row too big for screen)
IF Printer .AND. Row > = PrintMax
@ Row+2,70 SAY "Page" + STR(Page, 1)
Page = Page + 1
EJECT
ROW = 5
ENDIF (Row too big for printer)
RETURN
3JUJI s^JJu iftUJ ( Status ) ;>IJJI j*iz* f Ijl^xJ £-lJ^JI J» -^>Xy
Jl ( .T. ) i-JLil JUij f3 lilJ .Lj^iJI Sjplill J* dJi ^. rf &> ( Status )
dJilj L^i \j>ja ^j Jiii 3LIU jjjZ L-jjJLkll ji yiiu IJl* jli ( Status ) j-*dl
r~j ( Not Status ) Ju^-a Sj^Ij ^£JI o^ 1*1 L-' -J-ev 3 to* -ri^ 1 ^M» p
r ljicu-L iiUi juu *JL>jJ ^ ^^> ( False ) Jl J^JI J-**- Si*** £* Ai£.U»
.,}L*II oLL-* £-b*J L-aSjl i-3ULri ,>• ( 6 ) jL3^l
YU
ilLmM aLLa gJbtf mjIX3
jU-UjJI jlJi*j .( ARStat.prg ) 3JUJI ju^ g-bjy ( Bills.prg ) ij^-iJI j^U&JI
3LJUI .Ij^l J \^>j
( Bills.prg ) \^i\ j^\^\ g-b* r - y\
j^Lfc ie.U» £-t^ JuHi ^ ( 1 ) fjj jl~>?l Jli-il XLc jwli^JI II* r J^w
» JL» cJjJI Lr Jj ^j JL^-iJI j^jljJJI Lc-LJaj .jJu p-aLj-JI IJl*j ..^UjJI oLL~>
UL. ^ ( Billed ) jujl-JI Ji> jtf .Ij- J~»>JI JJi» ^i ( .F. ) JLJtfl JUoL
JjuJI JdU ^J ( Posted ) J->jJJI JJU- ji ( Charges.dbf ) 0,-JI
vJUULI JI j-3l>iil tJu» Jt>j3 liUi juu f aio-JLI ^/-i. ,^» ijUi, .( Payments.dbf )
( -\ ) jjj jLjs-VU ( Monthly Posting ) ^^fiJI J->>JI g-li^ j^J* ,>& tr-a^'
..^LjJI oLL»> »b,J ij-^JjJI Juilill £.*
: ZJUI jjLuJI ^ £-°UjJI IJl* OjZ-Zjj
********************* *Bills ore
* Prints monthly statemetns.
* Called from AR Print menu.
* Have user prepare printer (or cancel).
Proceed = " "
DO Title WITH "Print Monthly Bills "
@ 15,5 SAY "Repare printer and press a key to proceed"
@ 17,5 SAY "(Type X to cancel)" GET Proceed PICT "!"
READ
* Return to menu if requested.
IF Proceed = "X"
RETURN
ENDIF
* — Open files and delete records with "0" Amount.
m
<lL*a jsAJUa. gteji >rf jUa
SELECT 1
USE Customer INDEX CustNo
SELECT 2
USE Charges INDEX ChargNo
DELETE ALL FOR Amount =
SELECT 3
USE Payments INDEX PayNo
DELETE ALL FOR Amount = ,
* Set decimal place to 2 , send @ ... SAY to
* printer and open BillProc procedure file.
CLEAR
SET DECIMALS TO 2
SET DEVICE TO PRINT
SET PROCEDURE TO BillProc
* - Set parameters to printer and "not status" report.
Printer = .T.
Status = .F.
* Loop through Customer database and print a
* bill for every one
SELECT 1
DO WHILE .NOT. EOFO
Lookup = CustNo
DO PrintBills WITH Lookup , printer , status
EJECT
* Set next customer
SELECT 1
SKIP
ENDDO
r«
* Done , Close files
SET DEVICE TO SCREEN
CLOSE DATABASES
CLOSE PROCEDURE
* Open ProcLibl procedure file
SET PROCEDURE TO ProcLibl
* — Print reminder about posting , then return to
* — main menu .
CLEAR
TEXT
monthly postings (main menu option 5) should be
performed immediately after printing the monthly
statements.
ENDTEXT
7
@ 22,10 SAY "Press any key to return to main menu..."
WAIT " "
RETURN TO Master
I^Uil ( BillProc.prg ) oUJ^JI OJL. f ljL^J g-.b^JI II* ^i A^^Ly
£*M U# .Li ( ProcLibl ) >^l oljixJJI OL. g* ±^L U .aj^JI ^UiJI
.X^JI oLL-> g-LjJ i~~?J\ 5-iUUI Jl ^JS ( RETURN TO MASTER )
.JlPljiU J-»> y* (6) fJj jLj^VI f lj»l^-l (.J^L-JU yi-Jj. jz> »^L-«
( ARStat.prg ) aUll ^Ui-I ^.b* i - YN
ji,U: UL> £-brf **il5 yi ( t ) f3j jLj^VI JUaI ait g-b^JI Li* r j
j-jlj^JI j-u— j »i^> ^ J— k«JI Ul> jLii-L .Jik".,.»ll 7t— «j jj»j . £ ^LwJI ■-■! .1 ..,-
2L.J.I »jj3tii\ {y* ^>l ijy* Js. J^^uJI aJ jt-i j*j .Ujujl-j j.jui jl ( Billed )
(True) 3~*JI (Status) ^Jtfll ,lk*l £-L^JI Ijl* ^ Ji>^ ..UuujuJ J^JI Jl
r©\
* JUjJI jj|Jiii-> £*bjj >#jU3
^j Jwi 2LJUJI jLii-l yb o.^JlUI i ( PrintBills ) ol>LiJI ^-U^ .J,*, ^^
: ZJLJI j^k-JI ,>-• oj^i) ( ARStatprg ) ^...._r g^k^JI li*j .ZJLtoJI »jjjiiJI
in******************* ARStat org
* Quick lookup of a single statement.
* Called from A/R Print menu.
* - - Open files and delete records with "0" amounts.
SELECT 1
USE Customer INDEX CustNo
SELECT 2
USE Charges INDEX ChrgNo
DELETE ALL FOR Amount =
SELECT 3
USE Payments INDEX PayNo
DELETE ALL FOR Amount =
* — Set up memory variables for status report.
Status = .T.
Printer = .F.
M_Cust_No =
M_Name = " "
Exiting = .F.
DO WHILE .NOT. Exiting
* print screen title
DO Title WITH "Quick lookup of current status"
* Get Customer by number or name
SELECT 1
DO GetCust WITH ;
M_Cust_No , MName, M_Address, Exiting
* Proceed with bill.
IF .NOT. Exiting
foY
* Ask about printer.
@5,0 CLEAR
LP = " M
@ 15,5 SAY "Send statement to printer ? Y/N ;
GET LP PICT"!"
READ
CLEAR
* Set up printer if necessary
IF LP = "Y"
Printer = .T.
SET DEVICE TO PRINT
ENDIF
* — Print current statement for customer.
SET PROCEDURE TO BillProc
DO PrintBill WITH M_Cust_No , Printer, STATUS
CLOSE PROCEDURE
SET PROCEDURE TO ProcLibl
* turn off printer
IF Printer
eECT
SET DEVICE TO SCREEN
ENDIF
ENDIF (not exiting)
ENDDO(while not exiting)
* Close files and return to main menu
CLOSE DATABASES
RETURN
for
iJUjJI juljlwa. Ajbjj >J jll3
( AgeSumm.prg ) Xyujllj i^ds&ll jj>UsII g-L* 6 - r\
U»w .*-*!! oLU> ^Ut; I*U, ^U^ i^l3 ,>- ( 3 ) j ( 2 ) jljU^yi
J*j .( Aging Reports ) V-j jii^j ^-a^. Jj^s ^Uc J^ Jj-o^JL ^r.,,.11
••^ l r° *i^JI j^IjaII «.U» jl>u Sale. UjLijI ^ jjjjUJI
J^jJJ iJUJI fcjUll ^>c ( Summary Reports ) ij-aiiJl o^^ill ^UJIj
J^iJL l^i»jH Jjj-aJL jjj^j ^^x. pJL. v^-> .*j ^LiJI >IjlJIj Oj-aJI uU^j
.( v - r\ )
: jfttf viUij (CREATE REPORT) ^.Sf I r h^.l ^1 l^ .UjI ^
USE Customer
CREATE REPORT ARSumm
* t
11/21/90
rage iNu a
1 Mohtfiiy Activily Summary
^i^sP%
4:i:-aM-K«c-:-:-M>-:->x-s<j-:-:w:-:-:-
5^^fefev>>> o^ : . : i>^^£*>o> "- o^v: >'£:-:- ^;:^xv>^>*>
•■^^i&j£ii££<->?- ^-.^Zi
Cust.
No.
Name
Current
Balance
Current
Charges
Current
Payments
Last Update
1000
1021
Ahmed Salem
Tarek Fathy
80.00
0.00
180.00
0.00
100.00
150.00
02/30/90
01/10/90
^ffi^Sii^^^^^^w 1 !^---^ 50 ^
( V - YN ) J5Li
L^J^li £_* pi ,^11 ( Assistant ) jlcULI £-»IJjj ^>\jj j^k; XJUJI »Ju» ^j,
.( V - Y\ ) J£jJU £^>« jj> LS JJij .(Columns) »jua}|I oL>^* jujuj
JiLiJL OwvjII Xj^aJL ^Jji^JI OJ^i "— s> J-?"**" 'J-* <-ijj-° *-3'.4 liLSva ol_^i
fit
*1U-H -i.IJ..,-. tAi* WJ Ua
.( i ~ Y\ )
: j?M ( CREATE REPORT ) j/11 r lj^x-l ^ ^1 IJ* .Li;V,
USE Customer
CREATE REPORT Aging
LfWl> ^ ^ ^1 ( Assistant ) JLtUll g-U* ^ip ^ ilUil *i* ^ij
{ o - YN ) JSLJt ^j-. y» U v-Uij (Columns) Ul^cVI oL,i« ju**3
Column
Contents
Heading
Width
Decimal
Total
1
Cust_No
CustNo
5
N
2
Tran[Cust_Name]
Name
26
3
StartJBal
Current : Balance
7
2
Y
4
Chg_Curr
Current : Change
8
2
Y
5
Pay_Curr
Current : Payments
8
2
Y
6
Last_Update
Last : Posted
8
( r - n ) j£i
Page No 1
02/30/90
Accounts Receivable Aging Report
&^Mmmims,psm, ^mt^mmmm
Name
Current
Balance
30 days
60 days
90 days
90 +days
Customer Number 1000
Ahmed Salem
Customer Number 1020
Tarek Fathy
80.00
0.00
88.00
98.00
35.00
90.00
0.00
130.00
0.00
200.00
( i - Y\ ) J£i
Vao
d*k* *hP*
Column
Contents
Heading
Width
Decimal
Total
1
Trun[Cust_Name]
Name 20
2
StartJBal
Current : Balance
9
2
N
3
Bal_30
30 days
8
2
N
4
Bal_60
60 days
8
2
N
5
Bal_90
90 days
8
2
N
6
Bal_90Plus
90 + days
8
2
N
( o - r\ ) jsLi
J^l fS, ^ L&sJ ^ ( Group ) jL3-VI f j^- *— .} £- J-jJI ^jj oi»yJj
lift ji)aj liLIJbj ( Customer Number ) icj**»ll u'j^ ^^j *4 x - «^ t?**^ ^**
.14>UjuI jA-JI j^ytJI bj-* Cr° t^ ^ ^** ^ f J**** 1 (* 5j *^ ,i, -^ jJI
ijJI j-yUtdlj ( Summary Reports ) e^-aiUI j^yLiJI Zj.LJ» p_iy
jlu*^J j>UI f IjLi^-l £* ( AgeSum.prg ) g-U^JI f Ij^-L ( Aging Reports )
i*LUI £-Li^ ^ »a>>>U 3LJUI >•!/!" >* »sUS c-^y .^jJ^I ^izll g>i
.( ARPrintprg )
CASE PChoice = 2
RepForm = "ARSumm"
DO AgeSumm
CASE PChoice = 3
RepForm = "Aging"
DO AgeSumm
♦/IJJI jjsj, ^ ( ARSumm ) US' &>* re ( 2 ) r 5 -^ r* 1 - 11 J 1 ^' ^
li* ^ ^ ( Aging ) Jul* w>3 pi ( 3 ). f 3 J U »jW^I -u*j •( RepForm )
JSL ^UJI j^ytJI LtLt pi ^UJI -,> ( AgeSum ) g-M .Lis" ^*j .^'
.ill*
ro-\
*!L>H juUvo. £*U* ^rfjUa
: jfi\S g-»loJI '•** jA- its' ^
******************** *AgeSumm.prg
* Print aged balances or summary reports.
* Called from A/R Print menu.
@ 5,0 CLEAR
* Ask about printer
STORE" "TO LP, Mac
@ 15,5 SAY "Send report to printer ? (Y/N)" GET LP PICT "!"
READ
* Set up the printer if necessary.
IF LP = "Y"
Mac = "TO PRINT"
WAIT "Prepare printer.then press any key to print"
ENDIF
* Use Customer database and report stored in
* RepForm
CLEAR
USE Customer INDEX CustNo
REPORT FORM & RepForm & Mac
* Pause , if necessary , then return to menu
IF LP # "Y"
WAIT "Press any key to return to AR Print menu."
ELSE
EJECT
INDIF
RETURN
*1U»JI juiJLtA. ^Aiyi j-jjlla
jLjsI yw-o- ( RepForm ) j-jdll jl£-« ( AgeSumm ) L^«j J ( ARSutnm )
lil ( Mac ) jJttll otS^o ( TO PRINT ) v^ 1 *LUL ^h^l ^ US' . f oiiJll
REPORT FORM ARSumm TO PRINT
( ARHist.prg ) V^bll ^^ ^ - YN
^|fe.i ZJ(j»JI bin ^j .f^L^AJI oLL-> jjj& JxLt p^jJ 2u~-jjJI 2-jUJI ,>• ( 5 )
.( n - YN ) J^Lltl Z*^! JL^UJI
1 History Menu 02/20/90 08:30:45 f
KpMMWWJTOfrmWMpW^^
SXfSS5«K8RR8S^XW« : S*J«
1. Search by Customer Code
2. Search by Product Code
3. Search by Data
4. Return to main menu
Enter choice ( I - 4 )
( *\ - r\ ) j£a
JiLiJL i«j,jll .j^L J^jJI IJLfi JL-.UJI V^ 1 ^ L M £a-* A^ ^J^ 1
.*j ^> .> <>-S> '^ u^ ^JtJI Ol J^l U* >* ^>^ •( V - YN )
«i-> .( CREATE REPORT ) ^.Ml f L&i-L ^^ ^^ .Ltil yOko &*j -J^
,>© •j'-SJ' r-Li ( CusHistl.frm ) Oill f \±*£-L yj&\ &* tfjWI >^ **M» r*
tlLall rrAim,\ £*lij4 j-JjUt*
USE ChrgHist
CREATE REPORT CusHistl
^Ujj U& JJ »;.UjJ j~* ,^JJ! ( ChrgHist.dbf ) «-Ull f L»»iJ L* JwOly
Lfi^J? &£■ jn^ tyill ( Assistant ) jlaLJI g-*IJ>; ,*Jl>i ^^k; SJUJI »JU ^j,
: ^IS" Lua\I oLp»<-« jlu*3 ^ US' .( Customer History ) jj^JI jlyx. jLa»j
( Check_No ) . ( Part_No ) . ( Qty ) . ( Descript ) . ( Unit_Price ) .
( Amount ) . ( Date ) .
.( V - Y\ ) JSLlll jjt jsJjuj IS ~>x^N\ (^jjLlc. jui^w *z> LS
Page No 1
;^®'i^^&ii5j^fipj^^^^^
11/21/90
Gll$t -
Part ^
^QtyJ;
^PescriptjpM.
IfenceJ
I1IM
|pba1te|||
1000
1000
BBB
AAA
5
2
Floppy Disks
Printer
1600
900
80.00
1800.00
01A30/90
02/05/90
Check.
i;-;Dji|qriptip|[i||lS
HSM^iiH
liifjt^liil
1000
1000
1333
1750
Payment
Payment
100.00
200.00
02/06/90
02/29/90
{ V - n ) J5Li
ny -J— * jl '-if; u^W -ui-JI oiS^ jLcj _^j j^^JI £_, JjLJI t>! j| ui
•O-Jlsll &J*~i\ ^ 0Lii{ fi ^JJI ( CusHist2.frm ) OUI ■ Jk-lj, *^&s
foA
slLtaJI .aiLLu^ >Jliji J^fj" 3
USE PayHist
CREATE REPORT CusHist2
juji^j l*J}U &> fa ^.LbjVI s~* LS Jibuti gj»\j y f\Ji j^Sic ZJUJI J* ^ij
( Cust_No ) . ( CheckNo ) . ( Descript ) . ( Amount ) . ( Date )
.( V - YN ) JSLiJI ^ £&j IS UufcVl 'U* ^jLt jbj*w ^ U"
^j .( Partno ) ^jl-JI II* pj, JUal ^ dJilj .,>**» «_*i*. ^* vjjIkLI ^j^iJI
.( A - Y\ ) JSLUt jci.jil y Jd\ ^j XJUJI u*
Page No 1
11/21/90
I MdliM
i ss^^^^^^ite^^»^S^^^*
tmmmmm&mmummm
Part
; No.
Description
Qty
Uint
Price
Total
Date
1 AAA
AAA
AAA
Printer
Printer
Printer
2
3
5
900
900
900
1800.00
2700.00
4500.00
02/05/90
02/10/90
02/20/90
l:i^^S^SlS^^^^^^^BS^i'^^^K^I^ 1
(A - YN ) J5Li
USE BillHist
CREATE REPORT CodeHist
rv
«U»I juLLu. £jb* ^jUj
o^ Utf ^ ( Assistant ) jl*UU ^b^ L-UJI oljL^-VI pJlp ^ xu^j
: ^tf ( Heading ) y j&\
( Product Code History )
: j?i\S ( Columns ) »ji**VI oUp^« JjJ*o ^j US'
( Part_No ) . ( Descript ) . ( Qty ) . ( Unit_Price) . ( Amount ) . ( Date )
.*ij*e> Jjuw iij*-»j dc~a Ji" <J3j-» SjuLi* ^ jiJ^^ '■** ■*-«£}
v^ 1 1^ 1 J^k
OJL1I i-L-l^ »jl"^! f^i JL^ 1 «>*" -.>^J^ .>^ oj-*~! .rir*^' '■*-*>
: ^Ul &JU\ VcS &J* ^ dJS p^ ( DatHistl.frm )
USE BillHist
CREATE REPORT DatHist
jjjL«3 ^ U 1 ^jLJI «>«AJ ( Product Code History ) jlj-^JI *-As£ ^a
: Jj LJ" ( Columns ) Jju^I oLjiw-o
( Date ) . ( PartNo ) . ( Descript ) . ( Qty ) . ( UnitPrice ) . ( Amount ) .
( Cust_No )
L,US^ dUi ^ .( DatHist2.frm ) aJll jlLJ^j tj\j^[ ^ Ji-JI «^lj
: t > s Jlill (^J^la-JI
USE PayHist
CREATE REPORT DatHist2
n\
( Date ) . ( Check_No ) . ( Amount ) . ( Descript ) . ( Cust_No ) .
: jfttf oUi, .^liJI d* ^ ^ J* U.\J, J| ^ ^jj| ^li^JI
********************** AT?jjj s t nre
* Search history, and current charges and payments
* files and display summary data.
* Called from AR Print Options menu.
HChoice =
DO WHILE HChoice # 4
CLEAR
DO Title WITH "History Menu"
TEXT
1. Search by customer code
2. Search by product code
3. Search by date
4. Return to main menu.
ENDTEXT
@ 24, 1 SAY "Enter choice (1 - 4) "
GET HChoice PICT "9" RANGE 1,4
READ
* Set up search macro accordingly.
@4,0 CLEAR
DO CASE
CASE HChoice = 1
M_Cust_No =
@ 15,5 SAY "Enter customer number" ;
GET M Gust No PICT "99999"
f\Y
tJU.il juLUa. ^li* >rfjULl
READ
LookAT = "Cust_No"
LookFOR = M_Cust_No
RepForml = "Cusffistl"
RepForm2 = "CusHist2"
SET EXACT ON
CASE HChoice = 2
M_Code = SPACE (5)
@ 15,5 SAY "Enter product code" ;
GETM_Code
LookAT = "UPPER(Part_No)"
LookFOR = UPPER(M_Code)
RepForml = "CodeHist"
SET EXACT ON
CASE HChoice = 3
M_Dat = SPACE (8)
@ 15,5 SAY "Enter Date " GET M_Date
READ
LookAT = "DTOC(Date)"
LookFOR = TRIM(M_Date)
RepFlrml = "DatHistl "
RepForm2 = "DatHist2"
SET EXACT OFF
CASE Hchoice = 4
SET EXACT OFF
RETURN
ENDCASE
* Ask about printer.
@5,0 CLEAR
STORE" "TOLp.Mac
@ 15,5 SAY "Send report to printer ? (Y/N)" ;
GET LP PICT"!"
nr
READ
IF Lp = "Y"
Mac = "TO PRINT"
ENDIF
* Search billing History file
USE BillHist
SET FILTER TO &LookAt = LookFor
COPY TO Temp
USE Temp
APPEND FROM Charges FOR & LookAT = LookFOR
SET FILTER TO &LookAT = LookFOR
REPORT FORM &RepForml &Mac
* if not searching for product code , Search
* Payments files
IF HChoice # 2
USE PayHist
SET FILTER TO &LookAT = LookFOR
REPORT FORM &RepForm2 &Mac PLAIN NOEJECT
ENDIF
* IF report not going to printer, pause.
IFLp#"Y
?
7
WAIT
ENDIF
ENDDO(HChoice#4)
ru
,ltUJ $j±Ai\ .Sj-inlll
<** ^A*llj ^HJI J^lli
(sU^ju ^>u^r Cu**»jr
no
f uuu jj*ah ^,**aoii
j.LkJJ j^LlI J— a->dl ^*Li^ J-*-i3 p-~; «— 1» *^—*JI oLL-» J-oLJjJ !_■ , ^ 1
: cA r-^ ***" ( Post P r g )
liUj ^ £\ ji U* ^ • jl L.JJ ^ J L^ &£&_&> fcjljll oliLv Jil - \
vij~ ( REPLACE ) ^i\ r L*i-L *iUjj vw/JI J* XiLJI S^iiJI ^U ^
( v ) j>u isjyi ja> ji 1** ( r- ) j*> zjjijii j*. oll, jjclj
LMi M- ) J*. *JjljII Ji> J! L.ji ( V ) J^ iijljll Ji> dLu L.^
tr --JjJI wiAll w^jjl»w ^ ^ .( Summary.dbf ) cr ^.^ jujl* oLiU
^Vl f LL_*z-L, ( Summary.dbf ) <-Ul\ £_. ( Master.dbf )
.( UPDATE FROM )
JJ JUj ( Billed = .T. ) Ujujl-j ^ ^sll ^IjJJL i^UJI c£U-JI Ji - - r
j^JI 3i> oi* ^ j-^jj ( BillHisUbf ) ,>^UJI J^l.oJL.
.j^JI ^ilJ j^i ss> JL. j^ dUi, ( Charges.dbf )
r;<V-( Payments.dbf ) jujljJI a> jL. J* *JL*JI a* ^jj JL0L3 ^ - £
ao-sJI ol. jj ( Posted = .T. ) l«JL>^ ^ ^J| o^U-JI ^ jjj
a*l-sII ii> uLU ^ L^u-^ ^ L^ ( PayHistdbf ) ^J^Lsll
.(Payments.dbf)
oL > ^- J..U3 ^ Uau-3 ^ ^Jl jji^ui o^U- J^p ^ .Lpyi juu -
,i * toJ > T £i> b J*"' ^-^J ( Starting Balance ) jfdU Lslxtfl Ujl^ll Ji.
.( REPLACE ) ^.Vl f Uii«L ( Last_Updat )
S-L* ^Id ( Password ) j^— JLJtf r L*i.L LbJ ^.b^JI fJ JL
US' f LicJ r - ^ .Jp^ ^i ^^ it-ljN* -^ ■„> oLLJI J_>^
^ ^ l>j .^>i Uf rf f f lAs-l o^A^. iJS^ ( Mohamed )
- "\
riv
sUalU ,j^UUI »■_-»— l i||
I^J- UUI & 151 *-> IS, i>b o5 ^jl-JIj o^JI iS>J ^^ill J^||
* Show progress
@ 20,1 SAY "Aging the balances : Record" + ;
STR(RECNO0,4) + "OF" + STR(RECCOUNT() , 4)
Aging the balance : Record 2 of 100
*-L* .1^1 j*. ^ ( Record ) 2LJKJ JUI ijujl jy, j^ jy j£ ^j
: ^VIT ol^ ^ (Post.prg) g-b^Jlj
********************** p 0S j. __„
* Posts summarized monthly accounts to the Customer
* file. Called from AR main menu .
SET DELETED ON
CLEAR
DO Title WITH "Monthly Posting"
* Display and get password
TEXT
This is the program to post Payments and charges.
Be sure you have printed all the monthly invoices
before proceeding with this program.
ENDTEXT
Password = SPACE(7)
@ 15,12 SAY "Enter password to proceed" GET Password ;
PICT "!!!!!!!"
r\A
jjAAM jU-fJtoJA*
READ
* If proper password not entered return to the
* menu.
IF Password # "MOHAMED"
? "Illegal password" , CHR(7)
SET DELETED OFF
RETURN
ENDIF
* - - Do the posting,first,shift all current 30 , 60
* - - and 90 day billings "back" one field in the customer file.
@ 20, ISA Y "Working...."
CLOSE DATABASES
USE Customer
REPLACE ALL ;
Bal_90Plus WITH Bal_90Plus + Bal_90, ;
Bal_90 WITH BAL_60, ;
BAL_60 WITH BalJO, ;
Bal_30 WIHT Chg_Curr - Pay_Curr
REPLACE ALL ;
Chg_Curr WITH , ;
Pay_Curr WITH
* — Now.create summary of the charges database by customer number.
SET SAFETY OFF
USE Charges INDEX ChrgNo
COPY STRUCTURE TO Summary
TOTAL ON CusUSTo TO Summary FIELDS Qty, ;
UnitPrice .Amount FOR Billed
Now update the customer database current balances
* - -with data from the charges summary file.
r\\
*
/ItiU iJ> jlJJI »-j— !-»
SELECT 1
USE Customer INDEX CustNo
SELECT 2
USE Summary
SELECT 1
UPDATE ON Cust_No FROM Summary REPLACE Chg_Curr WITH ;
B - > Amount
* Move all posted transactions to the billing
* - - history file
SELECT 2
USE BillHist
APPEND FROM Charges FOR Billed
* Then empty the current charges file.
CLOSE DATABASE
USE Charges INDEX ChrgNo
DELETE ALL FOR Billed
PACK
* - - Now , summarize payment totals for each Customer
USE Payments INDEX PayNo
COPY STRUCTURE TO Summary
TOTAL ON Cust_No TO Summary Fields Amount FOR Posted
* - -Now update the customer database current balances
* - -with data from the payments summary file.
SELECT 1
USE Customer INDEX CustNo
SELECT 2
USESummary
SELECT 1
rv<
,U»UI j>*d)l ■&**"*»*
UPDATE ON Cust_No FROM Summary REPLACE Pay_Curr ;
WITH B-> Amount
* - - Append all posted transactions to the payments history file.
SELECT 2
USE PayHist
APPEND FROM Payments FOR Posted
* Then empty the current payments file.
CLOSE DATABASES
USE Payments INDEX PayNo
DELETE ALL FOR Posted
PACK
* — Then update the 'last billed 1 and 'starting
* - - balance' Fields in the customer database.
USE Customer
REPLACE ALL Start_Bal WITH Start_Bal + ChgCurr - PayCurr
REPLACE ALL Last_Updat WITH DATE()
* Adjust aged balances.
GO TOP
DO WHILE .NOT. EOF()
* Show progress.
@ 20,1 SAY "Aging the balances : Record" + ;
STR(RECNO(), 4) + "OF" + STR(RECCOUNT0, 4)
* IF no payment, skip calculations.
IF Pay_Curr < =
SKIP
LOOP
ENDIF (Pay_Curr < = 0)
* Otherwise , subtract the payment
rv>
More = .F.
NextBal = .T.
IF Bal_90Plus >
Remain = PayCurr - Bal_90Plus
IF Remain > =
REPLACE Bal_90Plus WITH
More = .T.
ELSE
REPLACE Bal_90Plus WITH ABS(Remain)
NextBal = .F.
ENDIF(Remain > = 0)
ENDIF(90+ > 0)
* 90 days.
IF NextBal .AND. Bal_90 >
IF More
Remain = Remain - Bal_90
ELSE
Remain = Pay_Curr - Bal_90
ENDIF(More)
IF Remain > =
REPLACE Bal_90 WITH
More = .T.
ELSE
REPLACE Bal_90 WITH ABS(Remain)
NextBal = .F.
ENDIF(Remain > = 0)
ENDIF (NextBal & Bal90 > 0)
* 60 days.
IF NextBal .AND. Bal_60 >
IF More
Remain = Remain -Bal 60
m
j^AJdl jbLjJaajJI
ELSE
Remain = PayCurr - Bal_60
ENDIF(More)
IF Remain > =
REPLACE Bal_60 WITH
More = .T.
ELSE
REPLACE Bal_60 WITH ABS(Remain)
NextBal = .F.
ENDIF(Remain > = 0)
ENDIF (NextBal & Bal60 > 0)
* 30 days.
IF NextBal .AND. Bal_30 >
IF More
Remain — Remain - Bal_30
ELSE
Remain = Pay_Curr - Bal_30
ENDIF(More)
IF Remain > =
REPLACE Bal_30 WITH
More = .T.
ELSE
REPLACE Bal_30 WITH ABS(Remain)
NextBal = .F.
ENDIF(Remain > = 0)
ENDIF (NextBal & Bal30 > 0)
SKIP
ENDDO(endoffile)
* Display closing messages
CLEAR
rv.f
f |fclU jjAAB •.j.-yiM
? CHR(7)
TEXT
The posting procedure is complete. Use option 4,
from the main menu to print current monthly
summary and aging reports.
ENDTEXT
* Get rid of any old keypresses.
CLEAR TYPEAHEAD
WAIT "Press any key to return to main menu ...."
* Return to the mavi menu.
SET DELETED OFF
CLOSE DATABASES
RETURN
& ;l*uji oLL-^ji IuLj j» ( if y ^>\J\ u^ f la=j g-b^Ji ^ j^^Ly
^ju II* jli ( Pay_Curr < = ) ^i sjujl* 2^3 J\ jujuj ^ [ lj| y&j .iiu
dJi utt>j .JLJI J-uJI. Jl JLzaVI ^ dJJJ, Ujl^l v ^lk, oLL-> dL* c-J Mji
k^ V ,>- ^iSt, L-jj ( \> ) j Ujj ( V ) j L.^ ( r- ) oU-» iui, ^
•JjJuj ,*3 ^Ul ^JLJLI jlS" lili Ja^l SJL*:-^* (Remain ) ^-jtdl f U*iJ ^
oLL»*JI »JLffi ^-JLaj pZj ULJI »JLa ^ L.jj \- &j> j4\ jujjlUI oLL-*JI ^^j
( V ) jUjiM-.) olL^JI ^L J* jj^ll ^ USU, .( |>L, ^jLj L^U* )
Ji>
,U£JI
,^-ft j». V > tT ... n il SJLuij ^j-C- *-Xj c^LajJI g - j t > I— »L« «» j_« «t^l5"yi JLLtj
.4....,,yi LJUJI Jl Si^Jlj olilll £*» ,£U{ ^ ^ A^ilail
rvt
,jU» » *JL«» iiU-a. &H J*Uoll &Ai M
rvo
j jUil j «lLaM *LU* ^ JllaX ^jUj*
dJi JujLJj -jjUIl ^U^j .^LaII oU— > g^lj^ Jbj ^ £-«lW ij> ^
oli-^l oL*f ,>* o^-aJI *S> ^ IfJUoJ p ,>JI .JL-^I oL-S" £> ^ - ^
.(Master.dbf) tr «^ P II jjUJI uiL. ,> ; 4>?J ll
( Master.dbf ) iJ ^>J\ jjLkil ^iL* JI IfU.^ ^ ,/JI o^U-JI j^ ^ - T
aljuJI **> ji .^LjJI oLL-> £-bjj ,y ( Charges ) o^JI 3S> jLsl ^ - r
•OjU-U ,s~jj\ ^Lll JI l^JUjj J-5 ( Payemnts )
£**ji ( Charges.dbf ) .J^-aJI itf^> «jLo JI jua> ^j» ZjLj»I w>»j JuloJI ^j
^ JJfeJI Ul>j .V f i ijUll ^iJL. JI *JL>>i ^ jL» Jjk-JI oli" lil g-LjJJ
US' ,p ^-jj* Jjl ( In ) oLi^JI JJLu, v^* ( InPost ) * ..■■■■}, UskL- }U>
^ U" .( MODIFY STRUCTURE ) ^1 f ljLJc^L dUi ^ ( Inventory )
..^JLj j^a, t/ i> ( BillHist.dbf ) tr iw»UI o^-JI ^iJL. JI JJfcJI ^ iiLi.1
.^LJI oLL-> JL. JI l^JUj: ^ ^1 o^-JI J.i?. Mj ^iUI Li* J ^ .y^JI
.( Customer, dbf ) tr - s ;yi
.Jlo JI A^iL&j i^j jujl> J^w Ji" ^1 jlJIiJI ij^j J->>JI LJLx. o-i-^J
^ J! 4*> ri f *>i e-li^JI fl*i «=> »j-—3 ^ ( Charges.dbf) «J,-JI SS>
£-^ J! oe-« >~ «>^I Ji> ^ «iUJ pj •( Master.dbf) ^^>J\ ujUJU
ri «~» "^*JI J*-JI *J^k u*»^JI «_*JI ^ ( NewChrg.prg ) .}U*JI iiU,l
: JUI >-JI JSUI
REPLACE InPost WITH .F.
: jfttf g-UjJI o- <y*i\ IJl* £-~Ay
IF .NOT. Exiting
SELECT 2
APPEND BLANK
REPLACE Cust_No WITH M_Cust_No
rvv
c^Ull j xlb«ll aLLa cnH J*l£aJI £<b*
REPLACE Date WITH DATEO
REPLACE BiUed WITH .F.
REPLACE InPost WITH .F.
SET FORMAT TO FNewChrg
READ
CLOSE FORMAT
REPLACE Amount WITH Qty * Unit_Price
ENDIF
ji^JI oL-j ( Charges.dbf ) o^-JI iS> oL. ,>. ( InPost=.F. ) l^U^ ^ J
^ (True) J{ (Inpost) £jju*JI Ji> ^-J* rJ L L5" ( BilHist.dbf ) ^Ul
OjUJLI uiL. vioJi^w ^ tfill g-objJI >* ( Updater.prg ) g-lo-JI o' «~>j
a*J >T ^U^ J-JLis Jl ^i>j ^-b^JI li* Jl >- oL*l fi ijUU ..j-^JI
ZiL*l *Xij .ti^-JI 3tf> oUL. ,>* y-w^l «Jlll u^ i.^«i ( ARUpdate.prg )
: "&L. tyVlS' ( Updater ) C^j^JI tJU ijl^ J-j >-JI li*
DOARUpdate
: UUJI jjJLJ' <>• 0^ ( ARUpdate.prg ) g*ls*ilj
****************** *ARUpdate.prg
* Update the master file from charges and BilHist.
CLEAR
? "Updating from the A/R System .."
*_.__-_ Use the charges databases.
USE Charges
* Copy nonupdated records to Temp File.
COPY STRUCTURE TO Temp
COPY TO Temp FOR .NOT. InPost
fVA
^jLUI j <]U1I ^U-a ^ Jjl&aA £*l>.«
* Now get the recrods from Bill Hist.
USE Temp
APPEND FROM BillHist FOR .NOT. InPost
* Get the Temp file sorted by part number.
INDEX ON Part_No TO ARIndex
* Use the Master file for updating .
SELECT 1
USE Master INDEX Master
SELECT 2
USE Temp INDEX ARIndex
* — Update Master from the temporary A/R file.
SELECT 1
UPDATE ON Part_No FROM Temp REPLACE Qty WITH ;
Qty-Temp-> Qty
* — Use the origingal charges database file
* — change all posted fields to true
CLOSE DATABASES
USE Charges
REPLACE ALL InPost WITH .T.
* Do the same thing with BillHist file.
USE BillHist
REPLACE ALL InPost WITH .T.
* Return to the updater command file.
RETURN
m
JM4&/I ty*tt
I £l$jftl Jfl-JU
aI&*&jI aJa& $Jb>i
^ J tXw ^/Jl ( Advanced Tools ) I*jl£1I oljaVl j-» Sx>**<-«i ^ jl*j «j*JI II*
.»>Ut{ iSj^-i <J^ p-°^vr" ««Li^ 0-* J ir' '-^' U'i* ^JJ •*$*■ u-° r >~" , T IJ
,>* ,AJC— II ^SLj £*U^ ^Jj Jjhfl J-aiJI Jj-oj AjILj ,>* «>»JI lift oj&J)
.*->£ OjUSI **;13 J&- ,>« J ij-Ull o'^" jLr^-l fjii-JU £~L, IS ..JiiiiJU
jiy» d-j"Zi fJ&i-JU £*-J oIjLj^I |»;Ij5 niLrti g^UJI -tl»J jc-Ij liJUl J-oillj
fAr
sM^AU aJaii ^>j
^>A*Jlj tfljl J±aAJI
G*\iji
VAft
•e-M J*- o- ^u^ 1 1 * L > Ji ^ W JJa ^ £^ ^^ r^ «*
J* UJ ^^ Lf o^ i^mi £uu ^' f^ 1 J* U ^ JI ^-^ u " Uj
: ^-Stf OUT jA (950) fjj\ ^ .^Jl 1^ ij^U;l i+j,
Nine Hundred and Fifty
JJU d~iJI ,y IfjUi" ^ J$\ SjiJjJI i*u)l L»-i*- o^ g-'l^JI u' «i»i>j
ait iuvJI •ju- j ' J! iJUi J 5 " iJi*^ pW "k^ J* ii**-* 11 i^^ J* £r*i
.*LU1I U^JI > lj ^' J! ( 999,999.99 ) j?>
*l,Jb &£■ w ^ liLill ajUSJ oULj JjuIj »_iLi .Liil "ij\ ^j viUi £j-»jiJj
Field
srj^fw^tE"
^"■■-A--*- S^vWBgp£feljy-'^ -Vw^*
Field Name
Type
Width
WM&1M&
Dec
1
2
3
4
CHECK_N0
T0_WH0M
AMOUNT
DATE
TOTAL
Numeric
Character
Numeric
Date
5
25
9
8
48
2
( \ - Yt ). JSLi
VAV
iljLtVl ^ iJ-t JXI ^J^JI JAUI ^^^ -tfji ^^ ^L^JI JuLtf J^jj
j ( Thirty ) JJ> ol^UI f Uiji eUtfj i^li ol^-si. ^i j^^i* Jl jl^Ij ^
.( Memory File ) i/lS o»L> ^i olj-isll »I* .^jij ^ LS" £JI .... j ( Fourty )
: JUI £*bjJI J5U ^_* »jLijl ^ ( English.mem ) *«-J »JUI Li*,
**************** *Enelish.ore
* sets up memory file for storing English equivalents.
CLEAR
? "Creating English.mem file with English for numbers"
7
SET DEFAULT TO C
SET TALK ON
CLEAR MEMORY
U = ""
Ul = "ONE"
U2 = "TWO"
U3 = "TREE "
U4 = "FOUR "
U5 = "FIVE "
U6 = "SIX "
U7 = "SEVEN "
U8 = "EIGHT "
U9 = "NINE "
U10 = "TEN "
Ull = "ELEVEN "
U12 = "TWELVE "
U13 = "THIRTEEN "
U14 = "FOURTEEN "
U15 = "FIFTEEN "
U16 = "SIXTEEN "
VAA
.uli^UI aJafc £*b*
U17 = "SEVENTEEN"
U18 - "EIGHTEEN"
U19 - "NINETEEN"
U20 = "TWENTY"
U30 = "THIRTY"
U40 = "FOURTY"
U50 = ,, FIFTY"
U60 = "SIXTY"
U70 = "SEVENTY"
U80 = "EIGHTY"
U90 = "NINETY"
* Save all variables to English, mem file
SAVE TO English
CLEAR
7
7
7
SET TALK OFF
RETURN
i^ill ( English. mem ) i^SUJI «jL. «Li;l Jl ^ajj g-^U^JI li*,
( U30 ) j ( Five ) JJ^ ( U5 ) ^JUi *L^c ^^AUI ^1 Ji« ^ *JL, ( U )
.IJ£*j (Thirty) Jl^
: JUI >JI Jul* ^ »/|jJ| ^i ^iUI II* J~*cSj
RESTORE FROM English
rA^
^b^JI J\ ( Procedure File) ol_^JI uiL. .Liil ^* dUi juu JJUI s>iJlj
( Translat.prg ) *-»-j ^^' '-^j -<J tA^ 1 J^Ull Jj aji*. ji i^.^ f yL, jill
**************** Translat ore
* Procedure to convert a number to English
* equivalent.
PROCEDURE Translat
PARAMETERS Number, English
* Set up memory variables
Counter =1
Start = 1
String = STR(Amount, 9, 2)
* Loop through thousands and hundreds
DO WHILE Counter < 3
* Split out hundreds , tens and ones.
Chunk = SUBSTR(String, Start , 3)
Hun = SUBSTR(Chunk ,1,1)
Ten = SUBSTR (Chunk, 2, 2)
One = SUBSTR(Chunk , 3, 1)
* 1 Handle hundreds portion.
IF VAL(Chunk) > 99
English = English + U & Hun + "Hundreds"
ENDIF
* Handle second 2 digits.
T - VAL(Ten)
IF T >
DO CASE
rv
juU^&u iXtii ^Jbji
* — Case 1 : handle even tens and teens
CASE (INT(T/10.0) = T/10.0) .OR. (T > 9
.AND. T < 20)
English = English + U & Ten
* - - Case 2 : Handle greater than 10
* — but not evenly divisable.
CASET > 9 .AND. (INT(T/10.0) # T/10.0)
Ten = SUBSTR(Ten, 1,1) + '0'
English = English + U & Ten + ■ " ;
+U&one
* — Case 3 : Handle less than 10
CASET < 10
English = English + U & One
ENDCASE
ENDIF (T > 0)
* — - - Add "Thousand" if necessary
IF Amount > 999.99 .AND. Counter = 1
English = English + "THOUSAND"
ENDIF (need to add "Thousand")
* Prepare for pass through hundreds.
Start = 1
Counter = Counter + 1
ENDDO (while counter < 3)
* Take out ratios
IF INT(Amount) >
English = English + "And"
ENDIF
English = English + SUBSTR(String, 8,2) + '7100"
: Jlsll >-J| JUL* &J, ^ >T ^ J ji.| 4 ^ bjr j| q. f hic J ^
r*\
SET PROCEDURE TO Translate
M_Amount = 9845
English = " "
DO Translat WITH M_Amount , English
: J\si\ jJLJI U&j aJij ( English ) s/UII uAL. ^ oUi Jj v^y
RESTORE FROM English
-J-KJL •sL^JI itU* Jl tf4 ji t*M g^loJI *;^j -£-M JLs>[ **- islUjj
: JJUI j>-JI JjbT ^
* Sample program to write checks
CLEAR
SET TALK OFF
SET SAFETY OFF
SET PROCEDURE TO Translat
* Bring English equivalent variables.
RESTORE FROM English
* Use the checks database
USE Checks
INDEX ON CheckNo TO CheckNo
7
? "First Check to be printed will be", Check_No
?
9
m
WAIT "Press any key to begin writing checks"
CLEAR
SET PRINT ON
GO TOP
DO WHILE .NOT. EOFO
* Translate Amount to English
M_Amount = Amount
English = ■ "
DO Translat WITH M_Amount , English
* — Print the check with required modification
* for the check
? ■ " Date
?
? To_Whom, " " , Amount
7
? English
?
?
?
SKIP
ENDDO (not eof)
SET PRINT OFF
CLOSE PROCEDURE
CLEAR MEMORY
CLOSE DATABASES
RETURN
L>-SLo ( Amount ) jJLJI J^- jjZ»u olSLi JUL!? Jl ^a^j g-oUyJI 11*.
tsr
JjOl jl^l ^b*
^^JJLbJIj (ji^UJI JjaDI
ur^-jvr jL^r
n«
Jj&l jLa^l pb„
jUSL ^0 *7 ,,.. II ^L-Jlj ZiL^JI jljJVL 2*5l3 ^^ jj^k ^ aili> .( Highlights )
.( \ - Yo ) JSLUI >l Sylkil il/^l
EXECUTE PROGRAM
YELLOW ON BLUE
BLACK ON YELLOW
WHITE ON READ
YELLOW ON BLACK
WHITE ON BLUE
BLUE ON WHITE
RED ON WHITE
BLUE ON YELLOW
MONOCHROME
( \ - Yo ) J£i
: j/jfir jits' ^ ( Colors.prg ) ^b^JI Li*
*********** ******* Colorsprg
* to give the user the colors he needs.
CLEAR
SET TALK OFF
SET STATUS OFF
* Set up loop for displaying the menu
DO WHILE .T.
* Draw a box
@ 1,24 TO 3,50 DOUBLE
c£~u
nv
jjtsa jL^l*i ^.l,^
* - Set up loop for drawing a frame inside the box
R = 6
DO WHILE R > 5 .AND. R < 20
@ R,22 SAY REPLICATE(CHR(178),31)
R = R+ 1
ENDDO
* Erase an area from the box
@ 7, 24 SAY CLEAR TO 18,50
@ 5, 21 TO 20,53 DOUBLE
* Display the menu."
@ 2, 28 SAY "Select Screen Colors"
@ 8, 25 SAY " -
Execute Program"
@ 9, 25 SAY " 1 -
Yellow On Blue"
@ 10,25 SAY " 2
- Black On Yellow"
@ 11,25 SAY "3
- White On Red"
@ 12,25 SAY " 4
- Yellow On Black"
@ 13,25 SAY " 5
- White On Blue"
@ 14,25 SAY " 6
- Blue On White"
@ 15,25 SAY " 7
- Red On White"
@ 16,25 SAY ■ 8
- Blue On Yellow"
<g> 17,25 SAY " 9
- Monochrom
WAIT " " TO P
DO CASE
CASE P =
RETURN
CASE P =
1
COLSTR = "GR + /B, W/R, GR"
CASE P =
2
COLSTR = "N/GR, W/R, GR"
r\A
efettl jl*»*> dA*
CASEP = 3
COLSTR = "W/R , W/N"
CASEP = 4
COLSTR = " GR + /N , W/R , GR"
CASE P = 5 ■
COLSTR = " W/B , W/R , B"
CASE P = 6
COLSTR = " B/W , W/R , R"
CASE P = 7
COLSTR = "R/W , W/N , B"
CASE P = 8
COLSTR = "B/GR , W/R , B"
CASEP = 9
COLSTR = "7/0 , 0/7 , 0"
ENDCASE
SET COLOR TO & COLSTR
CLEAR
ENDDO
JJkJL »jL«j Jib J-kLw. i^-ji *i>U^ i«l> ^I-a^vX^I ^IjjJI JuLb ,y ^%j
0*JI 2-J JJi ju, ( CLEAR ) ^.Vl f ljLkiJ ^ CHR(178) .J^JI f Ll^-,L
.OljL^fl iwl3 J^> jl^K ^ j± J,hT,„ll II* ,>. Ji-ljJI
0^11 ^1 J* ju^u ( COLSTR ) UUI J* ^ jA\ Jjh\ jl Ja>}L U"
C^j g-U^JI IJUbj .jl^l i*5L5 ^ .jL-^l |»J t^JJIj ( P ) »>lill ^^. ^
: JLJI Jl-JI ijl^j j>l p-ab^j ^1 A» <CoLliwJ
DO Colors
Y\\
gJjaU £>4^JI -Jj>V3 ^JijJ
CjjjAaJlj (jti^LJI JiaiJI
^i-alf a^ddf <iLi>»a &*lfjrf
t-\
^jJ&JI ±>j}«*Jl -djjAJ ubjJ
,>£*; ( Highlight ) ,J>yZ> Sy*& JOjS. tlJCj JLift j^Sw (£*;> .oljUSVI *jI^J J|
JujJI ,*i yjJiJill jLjS^I Jl J^JU Ji-\j-JxV oUUjVI gjlju UL-,1^ *5^o
^-c jLi>VI jiX»cu«JJ ^jj cJ>)l ^^ij ^j .jLi>VI IJLft JuiuJ JL>iVI rliLo J-*.
.jLx>l J\ Ms. sj>J.l *3J\ LbS - jj_4»
iJUJI iiLltl ^fki g-ob,JI lift JLLj j^cj
Sample Menu
liijiMliiil
111
Highlight option with 4> or | and press (J
or press appropiate menu number
( \ - YA ) J£i
<y iLjJ! J* f j^ ( Sample.prg ) ^l^J l^ ^p ULJI j^kJij
**************** *Sample.prg
* Create a sample menu with moving "light bar".
CLEAR
SET TALK OFF
i'f
jjj£dl ^aj^JI jL/jJ^ jt^J*
* create menu options (optl-opt4)
optl = "1. Add new records"
Opt2 = "2. Print reports"
Opt3 = "3. Edit data"
0pt4 = "4. Exit"
* Display the menu
@ 1,1 TO 3,79 DOUBLE
@ 2,32 SAY "Sample menu"
@ 5,30 SAY Optl
@ 6,30 SAY Opt2
@ 7,30 SAY Opt3
@ 8,30 SAY Opt4
* - - Display instructions with graphics characters.
@ 14,1 TO 18,78 DOUBLE
@ 15,18 SAY "Highlight option by using"
@ 15,40 SAY CHR(24) + "or" + CHR(25) + "and press" ;
+ CHR(17) + CHR(217)
@ 17,22 SAY "or press appropriate menu number"
* Initialize memory variables.
Opt= 1
Sub = STR(Opt.l)
KeyPress =
Choice =
* - Reverse video on option 1
@ 5,30 GET Optl
CLEAR GETS
* Loop for choosing menu options.
DO WHILE Choice #4
i-t
gjjtall 4a**ll -iLjjAJ £»k«
* w^t for a keyPress.
KeyPress =
DO WHILE KeyPress =
KeyPress = INKEYO
ENDDO (KeyPress)
* Arrow key pressed.
IF KeyPress = 24 .OR. KeyPress = 25
@ Opt+4,30 SAY Opt&Sub
Opt = IIF(KeyPress = 24, Opt+1, Opt - 1)
Opt = IIF(Opt > 4 , 1, Opt)
Opt = IIF(Opt < 1 , 4, Opt)
Sub = STR(OpU)
@ Opt+4,30 GET Opt &Sub
CLEAR GETS
LOOP
ENDIF
* Option numbers entered.
IF KeyPress > = 49 .AND. KeyPress < = 52
Choice = KeyPress - 48
ENDIF
* Return pressed
IF KeyPress = 13
Choice = opt
ENDIF
* An option was selected.
IF Choice >
CLEAR
? 'Choice' , Choice
Choice = 5
ENDIF
■!■••
£-l>l£jl £af«J»JI -iL<>*-3 giijj
ENDDO(Choice)
frA >Vrt?J liUij JjS'lS ^ ^fcL n ,J» JUyUtl jjl»*» ^-o jix-/ JS" ,yj}JCJ IjUj g-ob^Jlj
: JJLJI jjkJI
* create menu options (optl-opt4)
optl = "1. Add new records"
Opt2 = "2. Print reports"
Opt3 = "3. Edit data"
Opt4 = "4. Exit"
* Display the menu
@1,1 TO 3,79 DOUBLE
@ 2,32 SAY "Sample menu"
@ 5,30 SAY Optl
@ 6,30 SAY Opt2
@ 7,30 SAY Opt3
@ 8,30 SAY Opt4
j&a jM ( Help ) 6JL&LJI i>jJ ^^ 4i> ,>* ^ ^.li^JI ^ JLJI o~"j
(^*r" <-Ur»- fLlii-l &>^-ii -i*jUJI j- jL^-VI iLdLS" fJiiwUJd jc-»^J SJiLDI J-c.
^ £**. .( CHR ) XJIjJI f lj^=-L U-U Jj-^JI ^ ^1 ( Graphic Characters )
f LAx-L Ji-V ,^-JI iliS" fij, CHR(24) XILJI f LA=-L (f) j>JI f+JI Ltf
JSLa Ji*3 Zu*, rJ oj^ LI* ^ CHR(17) SJIjJI f LUi.l ^ .CHR(25) SJUJI
: sJlxll jjkJI ^ oUi ^atj, .UK*j ("*) -Jtrfl C^
@ 14,1 TO 18,78 DOUBLE
@ 15,18 SAY "Highlight option by using"
@ 15,40 SAY CHR(24) + "or" + CHR(25) + "and press" ;
I -A
jjjiall Ja^jJI *&ij*3 £*L>J*
+ CHR(17) + CHR(217)
@ 17,22 SAY "or press appropriate menu number"
tfJJI ( Opt) jJd.y Ji* »/IJJI cAjJs* o-. i^^w .U;{ ^ JLJI .j*JI ,y.j
LJ^JI ;L-a)I ,^j>«3 aJ pi. ^JJI ( Sub ) jJd\j »jL^-l ^i jJJI fM od^ 5 *t* (^
j-LilL ^UJI ^^1 iji" ^^ aJ ^ ^Ul ( KeyPress ) j*Jcllj « ^1 ; lifJ
kjjiWI jl~>?l ^j>3 aJ j^j jjJI ( Choice ) j^Jclij ^jl^JLI 4JL& fa,^ ^Ul
: LJUI
Opt= 1
Sub = STR(Opt,l)
KeyPress =
Choice =
jJUl ( GET ) jjtll j— ^ IS .( GET ) ^\ f Lfc-U uUi, UUII <y ( 1 )
J*> ,>- dJi ^ .jL»M II* J^ ^^Jl i^^JI e Li p. dJU i*^ oi>^i
@ 5,30 GET Optl
CLEAR GETS
i^LJI J* Lib i^UJI j,^ LJjj au ^ J^u ^ ^ JUI .^
: JUI JUI J*» ^ aiij .g-j^JI jjioJll jL^; ^
DO WHILE Choice #4
i/lUI ^al. J c l=ill U* ^UJI ( ASCn Code ) ySLAl ^ && ^ 3JUJI
>L ^UJI jZJi\ >jS Js. J^l ^ INKEYO UIjJI- jJAs-j, .( KeyPress )
: 3JUI jAJI ,>- dUS £^Ly .U* .ki^JL f j^UJ r U c Isl.
tv
£jji3JI ±***M -4i^>»a &*ijt
KeyPress =
DO WHILE KeyPress =
KeyPress = INKEYQ
ENDDO (KeyPress)
JJL.V ,^-JI ^Li- j? ( CHR(24) ) Jf.V ^J\ ^liL. Jx. f aicuJll J«-> x*j
&h •( N ) f3j jL=^" a- cPj-^ 1 *>**" »U=M J! <J& «*"* dl* ( CHR(25) )
iiUI Jl ^iji IS J>^\ a^*JI Jy >JI UcS IiU| Jl jafc ( SAY ) ^\ fi
SJIjJI f Lii-I L> Ji*!A-y .( Opt ) j^icH Jt o>ll pjjJI &a a>lj c > jl jl^Ij
^jdLI J> Sjj^II i^SJI v««> ^Ifcl ji ( Opt ) ^*=ll Z~3 »Lj yj ( IIF )
: JLJUI j^LJI ^ iiUi j^ij -os*- ^^* J* pJ&^-AI J**-*> a*^. ( KeyPress )
IF KeyPress = 24 .OR. KeyPress = 25
@ Opt+4,30 SAY Opt&Sub
Opt = IIF(KeyPress = 24, Opt+1, Opt - 1)
Opt = IIF(Opt > 4 , 1, Opt)
Opt = HF(Opt < 1 , 4, Opt)
Sub = STR(Opt,l)
@ Opt+4, 30 GET Opt&Sub
CLEAR GETS
LOOP
ENDIF
( 48 ) o- Iju; c \3jib ^UJI JLX\ ij ji ^>j •( 4 ) j ( 1 ) cm u j v^
ajlJI ,>• ( 48 ) iJuJI jjlu LjjL-> ^^Lj f JLkiJll »jLi« jUI iJjJI Ju-5 jli «iL)il
: SJUI j>-JI J^li- ca dJi ^ .*ull li* ^UJI (ASSH) „£-Sl ij5U Jiil
* Option numbers entered.
IF KeyPress > = 49 , AND. KeyPress < = 52
Choice = KeyPress - 48
ENDIF
t-A
£->>bJ1 £>**N jLi>V3 £*k*
i>rj ll 3 jbJI ^j^j ^ ( CHR(13) ) JU-aVI c lii- J* r J^iJll Ju-u Uju*j
: iJUl jjk-JI J^i- ^ dJS ^ .( Choice) ^1 ^ ( Opt ) ^1 ^i
IF KeyPress = 13
Choice = opt
ENDIF
,Jj C>i>" *-» ^; ( Choice ) jJd\ oli Jl>iV' c^-* J-* -J*"- 4 * i* 3 lA*-*" a>**JI
e-fcji J! t-^ 1 «** ( D0 CASE ) ^' f L * i -i ri *i iLJ| ^^n e-krf Jl>
pj Jii g-ob^JI li* ^ L.f .( Choice ) .^juII ^ a^ll ^1 J_c . Lj l>i x*
a- jsIJIj g-lijJI jLsl pi „s> ( Choice) jjall ^i a^ll ^1 ^^u .U^ryi
£V
jjijLJI tyJ)
♦♦♦
VM43
^Jl i-JLUI X^-Ull ^UlA-JI 3Lfcj-*w. £>i ,*J ^L£JI ,>- ^A-JI .1^1 ^
f-I^JI idwJ ^ ^1 2L.JUHI JjL-^JI ^ &A pJ Li" JLxftl JUj ^
Jj. SjJLillj LilSJI i^l Jl v 1 ^' *-^4> u* *JL> u,L i J-** tr^ E-W *J>*-»
Jiii oliSJI ^ tJLJbJI *iwJI a* ic.Li» xu- £&, .ciLo^LJI ^Jy ol^f ^ J^LcJI
i-jjUVIj (Jijbul oULj {tij*3 »J»it«M U fkuJ ^kApjj J* 4*>L-«-j JUJLmJI Jij^htHj
,>*Ai; ( Directory ) JJa L&U» iiUtf, *1j4~> yy>*Jh J\ &e- oIjLj ^1 <A>j~\
,Ju<j ( Lables ) 2uu^ ,>jjlifr **M» j' cf^*-^' o-° £*y-»*«-o jl ^^ki <^l oULj
f Jiic^JLI j^L. g-tljjJI oU iiUi Jl Zil^lL, .^UtiVl .Vj* ^_& »_ r< aiiwo oliLj
(^l>5 J^> &> «iUi> ••»*»> ^IjLj i*Li»l jl oliLj ^1 £— • J .Ijju»VI oULu JjJlo
,>*. £jL»Jju> J\ Jl I>UJI OJi £-«lW Js*-^ « JJCJI jJL^JU J^ J^-J L*J»|j
.obLJI jlcIjS
oLUWI jJj_. Cj j j^jJI .s^kJI J| JLiLartLj .xJI II* ..^
ciUJcJI J>i ^ j. ( DBase m + ) g*b*j ^UJI ( Application Generator )
.*J}U £-. 1*juLj ,^j ^1
i\Y
a^U=.) .=Jl*it3
^^LaJlj £jLJI JlaiJI
3^— 4f a IlhTU
£\0
1 ■•"'^ l — llj.t-n
^ ^ g-oLijJI J-J-iJ ajLu ^ .jlaxJII \j>\jj ^i\ Z-jUJI ^j .UlJLi JL^UJI
LJUJI JjjCj .J *Jl>vUJ.I jL^-l JH* ijuj^l £-»ljJI ,>» g-*^j-> Ji* J^i'J LjJ^>
: Jttl ja$\ LL^j L^Jyll LJUII g-obj. J-JL13 (^j, . r lkJI ^
DO HOME
: iiLUI J* UUI iJiUII j>j* Jl ^ijj IJUj
Home System Main Menu
1 - Add new Names and Addresses
2 - Print Directory or Labels
3 - Make Changes
4 - Delete Names and Addresses
5 - Check for Duplicate Entries
6 - Exit the Home system
Enter choice :
•i* Cf <& r^~il jLjSl JUL* ^J^w; L. JLJI . -*J| ^i j^p oj-j
Sju-X** cth*J AftL^I - I
yi j|ki ydl oliLJI JUal SALS ^ ( > - VV ) JSLill_, JL^iJI I^LoJl ^
.^>l »^ j^liU wsJI Ui\si\ ijjC oiiLJi j^j ^ jj^ji ^
i\Y
VUa| -=<lL<fla3
Enter names and addresses
Name :
Address :
Phone : ^M » ^if Company
( N - YV ) JSLi
( Directory ) JJjJI J ( Labels ) *.j-«1I ^Ldl **\J> - *~>
jjkj 3JUJI tift ^j JLJUII ,ji ( Y ) *jj jLx>V' p-^"'"tl j^-i iiUi -Ui'-'J
Select a Report Option
1 - Directory
2 - Mailing Lables
3 - Return to Main Menu
Enter your choice
Select a Sort Order
1 - Alphabetical order by name
2 - City order
3 - Original order
2rf3Ua| jJljihl
: JLJI JljJI jfe ojl^l V-L^ fJ^S-ll A*' .-****
Do you want (A)ll records or (Q)uery?
& J! tffei La* J U*- ( A) JjJI-tW Jd> *• #* ( All ) jL^
( Q ) j>JI LL* Ji> <>* pi ( Query ) jLjSIj .obLJI U*13 ,> o^U-JI JS"
^JJIj ( T - YV ). J£ilt $-11 ( Query Form ) A«JI ^S>-5 uKr* JJ &iu
o%^ ^UJI iin-11 jrij*i fJAs-W !*- L-J^-j -A»JI ±sA JM *#» ^- pi
jU ^M op UUM a- ( Save ) p3 ( Exit ) jl=~, i~~
Send report to printer? ( Y / N ).
Nest
Display
Operator Begins with
Constant/Expression "ft"
Connect
Line Number
Line
Field
Operator
Constant/Expression
i
2
3
4
5
NAME
Begins with
"A"
( Y - YV ) JSLs
L.JUCJ iiullJI JI ji^JI JUjI pi. ( Y ) u^SL, L.JLU3 .pJ&xJtl oUI >Xly
Lu* gj,^ ( r - YV ) JiLUIj .Jwi LiLUI Jx A^jj, pw ( N ) c-j^j
JJLJI ^^ LS T LkJ| i_L.I^ gj-LlI ( Directory ) J_JjJJ ( Sample )
.^k-ljj ^JLII ( Mailing Labels ) ^.jl^-JI ^LlJI ^ ( i - YV )
l\\
a^abal .uU^ba
Page No. 1
07/07/93
Hone System Directory
ASHRAF HAHNOUD
ALAMANA COMPANV
765787
23-OMAR LOTFV
CAIRO
FAWZV FAHIN HASAN
ALSHOROK COMPANV
7656787
12- ALREAD STREET
ASWAN
HASAN MASOUD LOTFV
ELZIOT COMPANV
675778
54-SHBRA STREET
CAIRO
HASN FOAAD
ELNAHAR COMPANV
76578
ELTAWFIK STREET
BELBEIS
HAZEH KAHEL
GAMA
2645321
16-ALTAVARAN
CAIRO
HAHNOUD GHONEIN
ELNAHAR COMPANV
4567887
16-MOHARAM STREET
ALEXANDRIA
SALEM AHMED ELFEKV
ELNOR COMPANV
656789
66-AHMED MORSV STREET
TANTA
Press any key to return to menu ..
( r - YV ) J£i
ELNAHAR COMPANV
ELTAWFIK STREET
BELBEIS
HAZEM KAMEL
GAMA
16-ALTAVARAN
CAIRO
MAHMOUD GHONEIH
ELNAHAR COMPANV
16-HOHARAM STREET
ALEXANDRIA
SALEM AHMED ELFEKV
ELNOR COMPANV
66-AHMED MORSV STREET
TANTA
Press any key to return to menu
( t - rv.) jsLft
tY
a^aUal .sJlaifaa
^lk> ^jJ\ oti *~~ljl LJUJI ^ (r) fj, jL^-VI f Jiiii-JI jLAj L-JLLft
Enter name of person to Edit
or just press Return to Quit :
V^" ty .4-^1 3-iUII Jl Ayu *jlj JUoVI ^Li. J* r .l,^..JI .ki^ JUL*,
^^y ( Beep ) jjIwj ijU^ ^Ik, ^UJI ^li oliLJI »jlc.15 ^ »i>>j-o ^ .L-,1
: JJUI tl^JI iJLy
There is no < Name>
Press any key to try again
.< Name > o&- ^ ^! r> ^1 tliiJI ^1
"* J* **=** «aliUJI ^15 ^ J>lj J*w- o)L* oli-j u-l c j^lA\ ^ lilj
.( o - YV ) JSLiJL
Enter or Edit Name and Address
NAME \hVAAim>hr.\4i
ADDRESS .IgiUMW-VMi'l
PHONE 3SS&3H COMPANY
CITY
( - VV ) J£i
£VN
Jj^-JI pjj ,>& f aioJll Jl>y p— VI iiLkll o}U-JI oLsL, j*^ jj> ^ ^iSl
304 Ashraf Ebrahim
365 Ashraf Ebrahim
713 Ashraf Ebrahim
Write the required Record Number :
♦Sy^l iujUII ^ ( 1 ) *3j jl~&-?l p** 11 -*' j 1 ^ ^J^* oliU-JI £— « |*Ij
jik, 1*^^. ^i I!* ^ jl isij .4^. JjVi oj^i J j/fl p-yi v^C a! ^^
»jl* JL* ^L< lajj .X-ib »j-o iJjL»dl pi#o-JU j^iy ( Beep ) jji*3 »jUL» u—UJI
f jL*«iJll ,>. yJky ^Ujftl ."*>* oliL. ^^w r Lbdl jli ^1 jJ6 ^ ^Uwii
^ jtfllll r .t^T,.,.ll f LkJI ^.'utjikll J*w~JI JUJbw JUjj .Ojil»ll J*-JI ^3, JUA*3
: ^VlS" J*«-JI LI* oliLj ^yt jj^ ^* »jW>I 3-OL.
Record # Name Address City
1 Ashraf Mohamed B-Abbas-ELakkad Cairo
Delete this record? ( Y / N ) :
Delete this record? ( Y / N ) :
^sJ>i\ o^U-JI ^ J> J*>*-% ( -N ) jt ( Y ) Us? c ^lA\ pkL-i,
o^-JI oliU u— UJI ^^u oLiLJI »jl*L» 0- LU> cOU-JI £-^ JJj .^jo*
c* 3
Records to be deleted ...
Record* Name Address
6 Ashraf Mohamed 13 - Abbass Elakkad
5 Medhat Salem 28 - Ain Shams
Delete all these? (Y/N):
l*>jjA\ cr>U-JI j>I « Uj&J ,j&x~JLI jui ^ IkJI jU ( No ) lA^i I col** lilj
( Y ) nJiMiull yc&j (_ji> ZJLjJI iki* j«.t,ii.*j .4j jj^UJI Jj^mJI *5j ZjUS* i Jj / 1' ,vfr
•Ja yij .jt-JLl j>l> c/iU-, jf iA^ ^-^ j' ( Delete all these? ) Jlj-JI -L.I
.obLJI IjlcIS ,>o ( Pack ) LJlfJ v^U-JI £--. ^ JJUJI
( Duplicates ) lȣU o^U*Jl jL&>l - a
oLixS] f Jic^JJ ^ IjLii-l ^oli f LkJI 3U ^il ij^SL. o^U-, J^ii juu JL*
(^j jl~»0" f a^-ll jL^v L-juc idJi ^ .1^^- 2-kLw ,_^> ijj^II o^U-JI
Ojlktl jtf lil g-.Ll^JI JU; ZJUII J* ^j . p lfcU i~~ij\ i^UJI ^ ( o )
: Ji\S \ y js jeju p iiliJI J* l^i,^ ^ r f S j>ai o!iU-JI u* icU,
Possible Duplications
Record # Name Address City
31 AymanSalah 16- Ahram street Cairo
67 AymanSalah 16- Ahram street Cairo
•ijufcll o}U-JI ^ ^ 4^2,^ J.UI ( t ) (Jj jL^VI
.(Dot Prompt)
£rr
a^aUa) .siUgtLua
jui yt-sn Lur j^> ^ j>ai jsJkJi a* ouu »j^i5
CREATE Homedata.dbf
: jftti JyfcJI oUL, JLiil ^
Field
Field Name
Type
Width
Dec
1
NAME
Character
25
2
ADDRESS
Character
25
3
CITY
Character
15
4
PHONE
Character
10
5
COMPANY
Character
25
~u *-. "VI; fJr« o")U~JIj J»Ui>')(l |»ij ^^Jj .«^iL-« ij-jfiJI CiliLi .Liil j^-jj
: JUJI jJH IJcS
INDEX ON UPPER( NAME ) TO HOMENAME
J-c t5>^w i^JJI ( Homename. ndx ) u-rjiJI i-*Li «Lijl Jl ^ajj ^1 II*j
Jx. jLcL-j ( Upper ) SJIjJI f Li^-.lj .( Upercase ) ij^ <-J»y« ht^ • !— ^
ur i^ jl s^*^ oj^ ^i f J^*- 11 ^ *J U lP J^! J! J>->» J^- 3
.JLlU LkjJ 7T..^tT_l lJj+H
oUU .Leos-I ^i-i <^=> iiUij ( City ) lull J^ olsLJI tul! i-rfi c^-y
: JUI ^.Vl r LkMl^U dUS fly .fc-m. Sia* jjJuu 3JJI ^Ujftfl
INDEX ON CITY + NAME To HOMCITY
£* djdl J^ Lww ^UiVl ,UJ J-& tjj^; ur^J '^1 Jl" J»3i K*j
.iwu JT Jib (Alphabetic) „sU«JI v-ydl* JUisp-^l
XU
i^aioj - j«j.i— »
: ^Vtf JJi, j^^ill
USE HOMEDATA INDEX HOMENAME , HOMECITY
^a .( Homescrn ) lJl ^3 oliLJI Jjjus j JUol ,y I^oiwU-ll JUaVI iiU
.iLLJI J^Vl ^ *>,,& JjLJI ( Screen Painter) oliLiJI ^Jj iLJ* UjLijJ
Modify
Enter or Edit Name and Address
Options
Exit
xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx
NAME
ADDRESS
PHONE >!m-l!«m!»H COMPANY
CI TV
<xxxxxxxxxxxxxx
■IXXXXXXXXXXXXXXXXXXX
IPcf 01 Row 00 Col ac
iltltliamWrtd^MiiganiraflpffiT , , „ , , M ^
Enter text. Drag field or box under cursor with «— '
_____ Screen field definition blackboard
( *\ - W ) J£i
•M^ 1 ±* *v* J! j*~ ( Directory ) JJjJL ^Ull ^i ^ r _^ 3
0*~j -=.W-JI iuU-^i J^-ja oULJI iH^^ty o^i f __
**-> tfi" jd^II p_*J .l±tt ( CREATE ) __<_l _J ( MODIFY ) __Vl f L_S__J
.( Newdirec.frm )
i~_JL ^J_l ^1*11 j^w ^ ^^ ^ ^ ^ ^, ^ U|) ^ ^
j-AJI 0^ JUal ^ LT ( Double Space ) __j. ja _il oliUU jL^r, ( Zero )
in
a*tt£| -sJirfflaa
( Home System Directory ).
: j/Sfl Jub^ eUij Ul> ( Heading ) i^JI
TRIM ( NAME )
• a^l ^^ ^ jyrt ^1 Ji> ^^ 6 V JLJI >JI J r y\
: „fltf ji^tJ' £**•* <y cy^i ^' JM rv
COMPANY + ADDRESS
( Heading ) ij-*JI ^{j Jp' ^> \ij> (Yo) j ij**j| li* ^ jujjo *iy
(Address) o 1 ^*" oi* ^J- 1 ^ (Vo) jl^ (Company) Ji> of i^j .Uli
L^-wu o> ,>JL&JI ^^ Jl ^i^, IJLfcj .( Company ) c^j JLJI ^kJI ,y Jji;
Delta
5 Abdulla Ebn El-zobair
OjJJbJI pjj Jj> ,k~2> ^JLj ^^ L^jI «iLj3o Jl ^U«j ^JLJI jj-jJIj
ij-jJI ^yi JUi»J (»*; idJi .uit.Tlj .UUj Uf-iuu jy ( City ) JLluIIj ( Phone )
( >o ) ^^ (Phone) oA 1 ^' pjj J^ j' J^ 1 *t? j&j -^ (*•)■*
JJ> j,^ jl ii->j .JLJI >JI Jl ( City ) LloII JjP ^-a c^> L.Lj Uy.
^ s^kJLL oliL-. ( o ) iiU»li r ^£ «-ij- dUD Jiii uij^ ( \ • ) j* ( Phone )
..iJlUI Aj**JI ,y jft\ Lttf ,^i, .li^ ( \0 ) JLi,^ j^-aj
PHONE + SPACE (5) + CITY
: JbJI JSLiJI j>l *jli j^l-ULU JULftj
■ 't.vn .-. ■"■
VMjoUrffba
Hazem Kamel Gama
16 - Altayran
2645321
Cairo
ji ( CREATE ) ^.Vl fjAs^i (Mailing Labels ) X-jl^JI ^LuJI .Ui^
JUol j^y ( MAILLAB.LBL ) ^Jj .Jill ^1 jlu*3 ^ La,? ( MODIFY )
: Ji\S g-ij-jJI obL,
Label contents
1 :name
2 : company
3 : address
4: city
Hazem Kamel
Gama
16- Altayran
Cairo
AymanSalah
Elnasr
1 6- Ahram street
Cairo
jfitf j&3 Jui^JI ^UjJI Jej* JLLft,
g-bjJI <_*£p i -
vv
Ji^JI ,>- jii LTuUSj r LkU ( Hierarchical Structure ) ^^j| ^^ji
.( V - VV )
£YY
1 .HlA| - Uj.Li
1. Add new names and addresses
1
HOMEREPS.PRG
Print reports
HOMEEblT.PRG|
Make changes 1
HOMEDELJRG
Delete records
HOMEDUP.PRG
Identify duplicotet
I V - YY ) J£i
l«i* V Ji*i ( Tasks ) S--5, oUUs-j Jl f-JLLj f UiJI jl JSLill 3- Ja>^y
Ju~-5jJI JLJUJI g-lijj j* ( Home.prg. ) g-ob^Jlj .( Command File ) j*\j\ i-iL.
iL-ljj LjJljlIj j^j, ai* g>=3 i$>Vl ^-oljJIj .^1 3-3 <y .i^Ly ( Main Menu )
u^oj .^^1 £-1^1 Jl ^1 Ji~, ^> £,1^ rf t .U=sl JU*j .(DO) ^Sl
•g-UJI kiiw3 3Ju* k.....i J| ^afc 3LUii^ OiUjj Jl r lkJI f-JB-oJ *^»*-
£*\jji Ji" jL^lj ji>Jk» (♦tr—* 3 irAi •«*-» £-*U J! g-^W r^ 3 <# ^J
.J,.niTlL f lkJI £-U £j£ ^ *JlrJI Jj>Vl Jj .5US— .
YV
T
( HOME.PRG ) V-*yi S-^ 1 E* b >- N " i ~
IkJJ *-«SJI 3L5UII Jsiii f yu jJJI g-li^JI j> W^ 1 I-5UUI £*tw
.oljUSI 3-J15 ^j* .J^U- ,>» j»i .j-^ij ^-bjj ^1 ,>& *~S>^ iJk&Si j*j
JL ( Pseudocade ) XJ/jN ol>iJI LL^ J-^ g-lij* jf *^ iP •iUUS'j
JJbU g*^ 3jX j-IjSI UsS dJi Jbu ^ ^ g-UJI ±^ Ui-w LiJ
jijjl 3-JUUI g-l^J iJjVl ol^kJJIj .oljlwJI *jl* JLii3 ^1 ( DBase )
: Ji\ J .j^Jba ( Home.org )
IYA
•u-rfiJI oUJLoj oliLJI uiL» £Xi -
.^U^JJ Su-Jjl ^^ uM ^(P ^ W^ 5 ~
Home System Main Menu
1 . Add new Names and Addresses
2. Print Directory or Labels
3. Make Changes
4. Delete Names and Addresses
5. Check for Duplicate Entries
6. Exit the Home System
jj&^JI jLsl JlJfcJ - "\
^jM\ ^b^JI jl tj tJ\ - V
2L5UN Jl SayJI - A
( I ) ^ jL^I *ll> u* e-M ,>• jrj>JI - ^
i^UI g^b^JI JuLtf <p Llj (Pseudocode) Ujil oljJLiJI JuLS" juu,
***** HOME.PRG
***** Home Management System : DBase III +
*----- set up initial parameters
SETTAlkOFF
SET STATUS OFF
SET DEFAULT TO C
* Open the database and index files.
USE HOMEDATA INDEX HOMENAME, HOMECITY
* Begin loop for main menu.
IX\
a^aiial .ijijjhT
CHOICE =
DO WHILE CHOICE <> 6
CLEAR
TEXT
Home System Main Menu
1 . Add New Names and Addresses
2. Print Directory or Labels
3. Make Changes
4. Delete Names and Addresses
5. Check for Duplicate Entries
6. Exit the Home System
ENDTEXT
* Get user's choice.
@ 16,20 SAY "Enter choice" GET CHOICE ;
PICTURE "9" RANGE 1,6
READ
* Branch to appropriate task or program.
DO CASE
CASE CHOICE = 1
SET FORMAT TO HOMESCRN
APPEND
CLOSE FORMAT
CASE CHOICE = 2
DO HOMEREPS
CASE CHOICE = 3
DO HOMEEDIT
CASE CHOICE = 4
DOHOMEDEL
tr-
CASE CHOICE = 5
DOHOMEDUP
ENDCASE
ENDDO ( while choice <> 6 )
* Done with Program. Return to dot prompt.
SET TALK ON
SET STATUS ON
RETURN
: ^15" ,ybj ( SET ) jjjl ,>. U>*»u* j;j> ^x
SET TALK OFF
SET STATUS OFF
SET DEFAULT TO C
oLjL-JI ix-dJS ol- ^ rJ _L g-U^JI ^ JUJI .j^JIj
j ( HOMENAM.NDX ) , J ^ i ii\ oLiU, ( HOMEDATA.DBF )
: 'o-JUIl o^k-JI J3U *- dUi, ( HOMECITY.NDX )
* - - — Open the database and index files.
USE MOHEDATA INDEX HOMENAME, HOMECITY
«dl (DOWHUB) L,l>sll.IlUll> ^ ^U^JI ^ JUI:.^
lu-*ll ^kJI ^ JJ . L aJ! , ( ENDTEXT ) j ( TEXT ) ^% .isUJI
* Begin loop for main menu.
CHOICE =
DO WHILE CHOICE <> 6
CLEAR
■lf\
TEXT
Home System Main Menu
1. Add new Names and Addresses
2. Print Directory or Labels
3. Make Changes
4. Delete Names and Addresses
5. Check for Duplicate Entries
6. Exit the Home System
ENDTEXT
« t N ) cm jj-»»" pSj *j^ -JLicuJLI Jj. ^jJj jjy ( CHOICE ) _ r Jull
* Get user's choice
@ 16,20 SAY "Enter choice" Get CHOICE;
PICTURE "9" RANGE 1,6
READ
L. ajbj ^sll ( DO CASE ) UUJI J* ^^~ e-b^JI o-« JWI .J*J'j
at*? ( \ ) ^ jLs5.yi fj^M'-j^' 'iJ* •j. J * 4;: - JlJ j 1 ^* 1 J* e* **** •s-**
^s^y ( HOMESCRN.FMT ) JlS-rtl 3-iLi giL g-bjjl jli »j-jl> o^U«
^ .Ljayi juu, ( APPEND ) ^Vl j^> -^* Jj^Jb- o^w SiU.1 jU^i— U
^>Vl oljL^V'j •( CLOSE FORMAT ) jM\ &J> &* JL5-^I iali J^UI
^ .jjjJI Li* Oj&iy .( DO ) jJi\ &J? fr* *#> e-!x J! &/*=" Ji ^
: 3JUI jjkJI
* Branch to appropriate task or program.
DO CASE
CASE CHOICE = 1
SET FORMAT TO HOMESCRN
APPEND
CLOSE FORMAT
CASE CHOICE = 2
DO HOMEREPS
CASE CHOICE = 3
DO HOMEEDIT
CASE CHOICE = 4
DO HOMEDEL
CASE CHOICE = 5
DO HOMEDUP
ENDCASE
i-iUJI £^j -^JJcJl ZJWI e L^I Jl &±, g-li^JI j>- j^i\ .^Jlj
: 2JUI jjJLJI ^ a^y J-JLLJI r lb5 Jl Si^Jlj
ENDDO ( while choice <> 6 )
* — - Done with Program. Return to dot prompt.
SET TALK ON
SET STATUS ON
QUIT
( HOMEREPS.PRG ) ^Ltfl ^.b* v - i - vv
U,Ml ol^iJI LI* ^ j^b^JI LLS- Jj, . c UuVI ,~- US' ^>i L*^
: c* 3 ^ \j*i ( Pseudocode )
: UUII ^Ifill oljUSl LJli ^^ iiLUI £_ ^ - ^
trr
1. Directory
2. Mailing Labels
3. Return to menu
" .( r ) ^
£j_dl jujlp.5, ( Sort Order ) y- 3 -^ 1 &h ^'jW 3 '! ^-^ iAr*
1 . Alphabetical Order by Name
2. City Order
3. Original Order
Olll £jS jhSj ( Alphabetical ) yJl^l vs 3 ^ 1 uu cr» " '
.( HOMENAME.NDX )
tJiL. ^1 £=i ^Sj "X ( Oringinal ) J-*Stl v*-^ 1 ****■ J* ' V
^kJI £ij-»i ^.^ r 3 ( Query ) £**JI oljUil ^j-c ^ - o
.L, oULJI UJLftU g-ipj f JLxiJll «J^ »> '^ ( Q ue, 7 Form )
.iwUJi j-<^ ,>*■ JM 1 ri " A
: ^15" ^jlJall £y v*-* Ji^ 1 ^^ ri " V
OL. gsi fi ( Directory ) JJjJI JUU» ^j^' -atf Ii| ' J
.( NEWDIREC ) J-&UII
J-SLiiJI OL. £=i fi 3Ljb^ ,>i>LLc ^M* ^j^ 1 $* 'M " V
.( MAILLAB)
.^^1 oUL.j jtJijill oliL. l pLc.l ^ " ^
iU
******* HOMEREPS.PRG
* Reports Program for Home System
* Clear Screen and ask which report
CLEAR
TEXT
Select a Report Option
1. Directory
2. Mailing Labels
3. Return to Main Menu
ENDTEXT
* — Initialize variable and ask for report choice.
REPCHOICE =
@ 14 , 20 SAY "Enter your choice (1-3)" ;
GET REPCHOICE PICTURE "9" RANGE 1 ,3
READ
* if return requested, return to Main Menu.
IF REPCHOICE =3
RETURN
ENDIF
* Ask about sort order.
CLEAR
TEXT
Select a Sort Order
1. Alphabetical order by Name
2. City Order
3. Original Order
-■MjihT
ENDTEXT
* initialize variable and ask for sort choice.
SORTCHOICE =
@ 14 , 20 SAY " Enter your choice (1-3) " ;
GET SORTCHOICE PICTURE "9" RANGE 1,3
READ
* Use appropriate index file.
DO CASE
CASE SORTCHOICE = 1
SET INDEX TO HOMENAME
CASE SORTCHOICE = 2
SET INDEX TO HOMECITY
CASE SORTCHOICE = 3
CLOSE INDEX
ENDCASE
* Ask about query.
CLEAR
QCHOICE = "A"
<§> 10 , 5 SAY "Do you want (A) 11 records , or a (Q)uery? " ;
GET QCHOICE PICTURE "!"
READ
* Display query form if requested
IF QCHOICE = " Q "
MODIFY QUERY HOMEGEN
SET FILTER TO FILE HOMEGEN
ENDIF
* Ask about the printer.
PMACRO= " "
TOPRINT = " N "
CLEAR
@ 10 , 5 SAY " Send report to printer? (Y/N) " ;
GET TOPRINT PICTURE "!"
tn
READ
* Make a macro if Printer requested.
IFTOPRINT = "Y"
PMACRO = " TO PRINT "
ENDIF
* Now print the report.
DO CASE
CASEREPCH0ICE=1
PEPORT FORM NEWDIREC & PMACRO
CASEREPCHOICE = 2
LABEL FORM MAILLAB & PMACRO
ENDCASE
* if printer was not selected, pause
* before returning to menu.
IFTOPRINTo"Y"
@ 24 , 1 CLEAR
WAIT " Press any key to return to menu. ."
ENDIF
*-" — when report is done, set filter and
* index files back to normal , and then
* return to main menu.
SETFELTERTO
SET INDEX TO HOMENAME, HOMECITY
RETURN
U,\j UXj ULUI <w, J f* *iij^ ^Li^Jl ^j ^ ^ Uv j, ijLi)
Jlj- ^ fi .(ENDTEXT) . (TEXT) ^1 f L^L ^UJI *\JL&\
^-ttll „i ^jiCj fifciJI jL^il JLi^lj ojJkll jUsyi ^ r JL^Jll
: JJ Isll j^JI J^i. ^ dJi ^ .( REPCHOICE )
******* HOMEREPS.PRG
trv
* Reports program for Home System.
* Clear screen and ask which report.
CLEAR
TEXT
Select a Report Option
1. Directory
2. Mailing Labels
3. Returen to Main Menu
ENDTEXT
* initialize variable and ask for report choice.
REPCHOICE =
@ 14 , 20 SAY " Enter your choice ( 1-3) " ;
GET REPCHOICE PICTURE "9" RANGE 1,3
READ
^_ jJ\ (DO CASE ) iiUJI ^ v-3^1 ^L>L~M i^l5 ^yu JUI .j^lj
: 2LJUI jjkJI
* Ask about sort order.
CLEAR
TEXT
Select a Sort Order
1. Alphabetical order by Name
2. City Order
3. Original Order
ENDTEXT
* initialize variable and ask for sort choice.
SORTCHOICE =
ifA
r i
@ 14 , 20 SAY " Enter your choice (1-3) " ;
GET SORTCHOICE PICTURE " 9 " RANGE 1,3
READ
* Use appropriate index file.
DO CASE
CASE SORTCHOICE =1
SET INDEX TO HOMENAME
CASESORTHOICE = 2
SET INDEX TO HOMECITY
CASE SORTCHOICE = 3
CLOSE INDEX
ENDCASE
^idl ^ f .ui»ll ij (> j>^3 ^ .^^ ( Query ) £*u J^. .Lj Ifgjy
J! f aia-ll ij Ji^- ^ ( PICTURE " !" ) ^1 r j*cL^ .(QCHOICE )
: iJUJI jjLJ\ J*> ^ dds ^ .Vl>il ijS ^ ( Upercase ) %^S o^
* Ask about qurey.
C1EAR
QCHOICE = " A "
@ 10 , 5 S Ay ''Do you want (A) 11 records, or a (Q) uery? " ;
GET QCHOICE PICTUTRE " ! "
READ
&-*J\ £ ij-i j,^ ^ ( Q uer y ) ^ji ^j^ju jLjS | ,.^
fi ,J .jri^JI .J-, ,0*1-11 ^ ^ i^uji j^ ( HOMEGEN.QRY )
V dJi &J (SET FILTER TO FILE ) ^l f la^t oLLJI u*ll ^Jtp
* Display query form if requested.
IF QCHOICE = " Q "
ITS
MODIFY QUERY HOMEGEN
SET FILTER TO FILE HOMEGEN
ENDIF
j* KbjMi .li^ryi f f ji/si\ i*u> jl^ oii" iii fjAsJii jU, jui .j^iij
^ 3JUII jjkJU .( TOPRINT ) jsdtt J f j^lJU aj ^ ^ .^UJI
•«j»JI li*
* Ask about the printer.
PMACRO = " "
TOPRINT = " N "
CLEAR
@ 10 , 5 SAY "Send report to Printer? (Y/N) " ;
GET TOPRINT PICTURE " !"
READ
jLjSI Jx. «Lj ijjiiill ^j^iJI 3-cLJ» Jl ^ijj g-oU^JI j-o JUI «>»Jlj
ajmi ( DO CASE ) iiUJIj .( REPCHOICE ) ^1 J> a>ll jjiiiUI
yJi> lib .( &PMACRO ) jj\l\ r Lis-l iJi>X. v^y .^JJI .^Zill ^p
( REPORT ) yH\ Jl JLu ( TOPRINT ) ijLJI $1* ji ^l\ i*U» f jti«^JLI
yik, jl lilj .LjUlil oU>il ,> Jj--*JI Jl tfifc U- ( LABEL ) ^-\l jl
.^ ^1 Sjlif ^V JUL, UU- j/lil jt-^j iiuLLJI J* jj^iJI LcLJ» f jiioJLI
LiUJI J^ oU>JI ^ki JUL, ( LABEL ) ^1 jl ( REPORT ) yH\ jlju
: IJUI jjh*J\ J^> ^_o JJi *Xy .Jaii
* Now Print the report
DO CASE
CASE REPCHOICE = 1
REPORT FORM NEWDIREC & PMACRO
CASE REPCHOICE = 2
LABEL FORM MAILLAB & PMACRO
ENDCASE
ii
alalia) jsJO^S
JuiUJI Jl ^.jJI J-j ( Pause ) U»*J i-iUI Ufij Jl ^afc JUI .>JIj
Jjy J jui Li*, .^^1 LftUt r JLki-Jll i-fc, f A* iJU ^ .iUi, -V-^ 1
.^L^JI ^ .jJI Li* ^ SJUI j>-JIj -iiUJI J^ ji^JI
* if printer was not selected, pause
* before returning to menu.
IFTOPRINTo"Y"
@24,1 CLEAR
WAIT " Press any key to return to menu ... "
END1F
£ijil J^UJ fSj «iwj> -L-^Lrll JLwliJI Jl g>?jJI JJ ip>i JLdl «>*Jlj
.«j>JI IJ* £->>> iJlill j^k-Jlj .iJb ~»y> ^jlfill jtxi *i< Li" ( Filter )
* When report is done, set filter and
* index files back to mormal, and then
* return to main menu.
SET FILTER TO
SET INDEX TO HOMENAME, HOMECITY
RETURN
obUlce— r-l-w
£^-*3j J*~ J .LcJCL-l f j^JU ( HOMEEDIT.PRG ) g-b^JI ^sj
: jfitf ^-Ij^LI ( Pseudocode ) XJ/ill ol>JJIj .obL,
.Cj$*~J\ £j*^J *i)lj^3 liLv ^j^j *1j - ^
itr iJUJi u* yi js^ «bu ^j^c yjitii ^i ^ jj^ji ^
i~~5jl 3t-3lill Jl ^1 ^ r | tf J JU.il ^ J |i{
- Y
- r
OL. &\U ijs S o Jv > Jl (LOOKUP) ^juil Jj^.j,^ fi" - i
iM
CJ^, j± LtLUI Jx ajUU ^^ ^ ^^UJi j^ji j^ ^ _ ^
****** HOMEEDIT.PRG
* Look up and Edit Names on the HOMED ATA Database.
* Set up loop for editing records.
STILLATIT = .T .
DO WHILE STILLATIT
* Ask for name of person to look up.
CLEAR
LOOK UP = SPACE (15)
@ 10 , 12 SAY " Enter name of person to edit "
@ 12 ,12 SAY " or just press Return to exit " ;
GET LOOKUP
READ
* IF no name entered skip all commands
* between here and ENDDO.
IF LOOKUP = " "
STILLATIT =.F.
LOOP
ENDIF (LOOKUP = " ")
UY
* Convert Lookup to uppercase
* to match index file.
LOOKUP = UPPER (LOOKUP)
* Try to find requested name, and
* remember record number.
SEEK LOOKUP
RECNUMB = RECNO ( )
* Count how many there are.
COUNT WHILE UPPER ( NAME ) = LOOKUP TO ;
HOWMANY
* IF no record has that name,
* ask the user to try again.
IF HOWMANY =
@ 20 , 10 SAY " There is no & Lookup "
@ 22 , 10 SAY " Press a key to try again"
? CHR (7)
WAIT" "
RECNUMB =
ENDIF ( HOWMANY = ) .
* If more than one record have.
* that name, get more information.
IFH0WMANY>1
CLEAR
RECNUMB =
SEEK LOOKUP
LIST NAME , ADDRESS , CITY ;
WHILE UPPER (NAME) = LOOKUP
@REW( ) + 3,10 SAY "Edit which record*?
GET RECNUMB PICTURE "9999"
READ
ENDIF(H0WMANY>1)
— if there is a record number greater than
ilY
*
* zero , edit the record
IF RECNUMB >
GO TO RECNUMB
SET FORMAT TO HOMESCRN
READ
CLOSE FORMAT
ENDIF
ENDDO (while STILLATIT)
RETURN
CjIjLJI J! Jj^jU Lj-,LJSM 1»u>jJI JjLy frA liJLt £-2»jj gjtijjJl IJubj
ZaUJI -JJCL^Sj .»iL«Jl5' £-a\jjJ\ tJuufjij «-olj^JI Ijljj .^j^iJI oliJu r *-" ■!■
LF ^u ^^ jr^c^ ^J pJ^oJI ^ ( DO WHILE ) ~*->J J Sd\
: LJUI jjkJI ^ £-*=, US' ( STILLATTT )
***** HOMEEDIT.PRG
***** Lookup an( i Edit Names on the HOMEDATA database
* Set up loop for editing records.
STILLATIT = .T.
DO WHILE STILLATIT
0^ tfJJI (LOOKUP) J^i\ ^-iill «U;I ^ ^JJ^i\ 12UJI J*i. ^j
pi ^jM\ ^1 c^ r J^JLI Jl>- ^ .( Spaces ) Ul> \jj> ( \o ) J>
: SJUI jjkJI ,>- £&j IS ( LOOKUP ) jJcti J r >l IJ* c*^
* Ask for name of person to lookup.
CLEAR
LOOKUP = SPACE (15)
@ 10 , 12 SAY " Enter name of person to edit "
@ 12 , 12 SAY " or just press Return to exit " ;
GET LOOKUP
READ
iii
^1 I*J J_* S>~JI Ji> ,>t dUi ^ii .i-^JI *-^' Jl t-^-^ 1
yi ( LOOP ) ^1 fbicJ, iyl/sll UWI «> r^! tfUl ( STILLATIT )
: oUi ^ ZJUI jyL-Jlj .aUJI j>\j\ J** JLii5 Oj* ^j' J! fc^ 1
* if no name entered, skip all commands
* between here and ENDDO
IF LOOKUP = " "
STILLATIT =-. F .
LOOP
ENDIF( LOOKUP = " " )
Ji>^L Jmi U-oj .»Ji\ Li* !>t dow uU^JI jli L—J .o^xJll jS-al lilj
^j-iiH yj .UJXl J-S" J^H^ ( UPPER ) UIjUI L^JLiwiJ Ld
ZJLdl f LJ*J U* pi dUU .i^ j,^> Jl ( HOMENAME.NDX )
aU-juU oi o-^j Li*, Jij^S Ojj* J[ c MclA\ Aliju L. J^ ^i ( UPPER )
\3j~tu ^jjlli ,jj 5ijj.jil .LuiijU 4 a il h o »j— *$* Lijj-> L*ila jj-^J » I >>".„! I
y^SL; ji ,ySLj ( Ahmed ) pJi\ }li»i . L^J .jl^iJII ZjL^ Ui^ j_c ^JDI
g-li^JI ^ Jt dii jfe 3I oji ( Ahmed ) ji ( ahmed ) J\ ( AHMED )
.^idl J-jj-*J IJLft jt-^jj JLJUJI j^iuJIj .p—VI IJL^ ^LiJI J-*-JI j-c.
••jr* *JJv*- J! ( Lookup )
* Convert LOOKUP to upercase to match
* index file.
LOOKUP = UPPER (LOOKUP)
,iA J* Jj^v ^1 J*-JI fJj oi^i £«M fA •( HOMENAME.NDX )
: SJUI jjkJI J^> ^ aJij ( RECNNMB ) jjdU ^i ^1
* Try to find requested name, and
lit
* remember record number.
SEEK LOOKUP
RECNUMB = RECNO( )
^L^JI f JL^L-j dUil ^Vl ^ *J J^, ^ ^1 ij*.j JL^.1 JL* oVj
U«15 jMj .^^1 p-V 1 J* ^i*^ 11 o^-JI iJiP _^> yi ( COUNT ) ^.\l
r lo^iJ J-ii; dUU p-VI y«tf. ( Alphabetically ) LsU* JLJj-. ^j oLjLJI
o^-JI i^jJ g^J o>i *iV ( FOR ) ^-jcJI ,>. ^ ( WHILE ) ^-*dl
SJUI j>-JIj .( HOWMANY ) jjail ^ wijltll ^71 J* o^Jl o^UuJI
* Count how many threre are.
COUNT WHILE UPPER ( NAME ) = LOOKUP TO HOWMANY
.*— "VI ,>C i^mJI Am*2 Jj. *Lj jlytfl iUtjJ £-^>jJ «-ob^JI ,yo JLJI .J»Jlj
^-LJI J3U- ,>-* _rjJL»uJI »jLi-» jiLtl £-« ( Error Message ) Uii.
.j-Li. ^1 J* jOjclJI Ju* jlksl ,y Ui»J g**loJI J5jiy (? CHR (7) )
.UxiJI sil-j £A JUaI pi jJJI ^-71 ^^ ^ pjis— ( &LOOKUP )j/UIj
* If no record has that name,
* ask the user to try again.
IF HOWMANY =
@ 20 , 10 SAY " There is no &LOOKUP "
@ 22 , 10 " Press a key to try again "
?CHR(7)
WAIT" "
RECNUMB =0
ENDIF (HOWMANY = )
U\
^U^JI f >L 4JJU .OV-JI J* ^ o- ^r^ 1 J^ 1 J 1 ^ -r^ ^-4*-
L* Jfe/k ) ^JLU ^Vl J* j;^ J*- Jji cr* £**+_ fi LiUJI £— j Vjl
^.Vl f LizJ juu JJal jlj ^ J^l ^j-. oV liLtSj «i*JI SJLc. JJj
cbLu ^^ ^i (LIST) ^.Vl f oiwL~y .{ Olll L^J ^ jw-b ( COUNT )
pi US' ( Record Number ) J^-JI ,Jj 1;..?it« p-VI <p i*>£ll o^U-JI
* If more than one record has that
* name, get more information.
IFH0WMANY>1
CLEAR
RECUNMB =
SEEK LOOKUP
LIST NAME , ADDRESS, CITY ;
WHILE UPPER ( NAME ) = LOOKUP
@ ROW ( ) + 3,10 SAY " Edit which record # ? " ;
GET RECUNMB PICTURE " 9999 "
READ
ENDIF
lj*l» £~A iU-, JL* it U « ^1 ^ UU LjjJ c**J\ a] ±^hj
o^U- J\ JU* c-J -J? jl (RECNUMB ) ^jall J ^ ^ J^jbdU
*i,l— ( RECNUMB ) jjui\ i*J && JUL, u*,ltll f-VI J^ Lp«
J-SLUI aL. jti ^ Jjj^dl ^*L> Jj^, dL* ^ lilj .( Zero ) yLJJ
JJLII j^kJIj .J^JI Jc f jicLJI oXjuo JLfcJj ( HOMESCRN.FMT )
* If threre is a record number
* greater than zero, edit the record
IF RECNUMB >0
US
GOTO RECNUMB
SET FORMAT TO HOMESCRN
READ
CLOSE FORMAT
ENDIF
Jl >>J^\j JL,k£j| iiUJI jXtl ^.Ijl J^yj g-U^JI ^ jSH\ ,^JIj
.dJi x*&jj iJUl
ENDDO ( while STILLATIT )
RETURN
O^iU-Jl £— t - i - YV
^L^ ^ ju. Jl jl~l, ( HOMEDEL.PRG ) o^U-JI £— £-b^
jlJLL. ( >-j J w J^w *Ujlu,I ^ s >- CH .-dJij ( HOMEEDIT.PRG ) J^JUiJi
J» Lf&kz ( Pseudacode ) SJ/ifl £»'ji»Jlj -*JLc Jjluuo JJLe. IjLlJ ^jiw-ll
LT"
"fl
.jl-jji s^uji ji ^j\ ^ jii^i . c isi, jt .fjAsJii J»* i*i - - r
.^^Dl jU-^lkJ ijs^" oj^ Jl ( LOOKUP ) .jJd\ J^ ^ - t
.^i^JULII ^-Vl {ft. c^JI |^.-o
.i_>^JLkll *^yi Jx. Zj^imII o^UbJI aJic- j^i> w - *\
^jJlo ,^ij ^jjiiill ^yi J-t ij^»« o")Lk~. jl JLla ^Sc j. lil - V
g-ljjJI yJk; tJjJJUl p-ZVl J-ft JL>>^-o 0*iU- tJLfc JL* CJtf lil
j oi>i r J^-ii o-° g-^ 1 s- 1 ^ 4j "~-° v^ 1 J^ 1 J*** 3 r 3 '»!
£'£A
- A
Juy L-i JLw—I Jj«-JI li* >~-J *^> £—11 J-& »JL*l-il JJlj l3l - \ '
,( PACK ) jSi\ r LAs-fe
i. J l lxj ,_^1> (.Jj^-I C£Ik~J p—ll JlJLs jlj&J »JL»>.".«..U p-abjJI >fc«,inj - \ \
: Jfill JLdLj ^ jc-JlI 1*^*3 ^ oV 1 «^ ^^ UU> ~ ^
.Ljl^j o}Ut-JI tl» £-*; jiVI »J»CL~1I £-o £j>\jjJ\ yJLL; ~ <-J
<Jb>;'^ t^JI O^L>b>JI JL>I oLc^/L .AxT.«.JJ uljjJI pi-j - \
. IfTT.iii «
•J>ljj TtMuJD SjjJil ci^LkmJI iljLc- i/>&{ *i» ~ t
.( PACK ) jJi\ f LAi-l' LsljS o^UwJI
: ^VK ^fcT ^ *J,Vl ol>kII u* ji^, ^JJI g-U^JIj
****** H0MEDEL.PRG
* Lookup and Delete Names in the HOMED ATA database.
* Setup loop for deleting records.
STILLATIT=.T.
DO WHILE STILLATIT
*----. Ask for name of person to lookup.
CLEAR
LOOKUP = SPACE (15)
@ 10 ,12 SAY " Enter name of person to delete "
@ 12,12 SAY "or just press Return to exit";
GET LOOKUP
READ
* If no name entered , skip all commands
US
* between here and ENDDO.
IF LOOKUP = " "
STILLATIT = .F.
LOOP
ENDIF (LOOKUP = " ")
* Convert LOOKUP to uppercase to match
* index file.
LOOKUP = UPPER (LOOKUP)
* try to find the requested name , and
* remember record number
SEEK LOOKUP
RECNUMB = RECNO ( )
* If no record has that name , warn
* the user to try again.
* — count how many there are
COUNT WHILE UPPER (NAME) = LOOKUP TO ;
HOWMANY
IF HOWMANY =
@ 20 , 10 SAY " There is no & Lookup "
@ 22 , 10 SAY " Press a key to try again "
? CHR (7)
WAIT" "
RECNUMB =
ENDIF ( HOWMANY = )
* if more than one record has that
* name , get more information.
IF HOWMANY >1
CLEAR
RECNUMB =
SEEK LOOKUP
LIST NAME , ADDRESS , CITY ;
WHILE UPPER ( NAME) = LOOKUP
to
@ ROW ( ) + 3,10 SAY " Delete which one ? " ;
GET RECNUMB PICTURE " 9999"
READ
ENDIF(H0WMANY>1)
* If there is a record number greater than
* zero , then double check and delete.
IF RECNUMB >
GOTORECNUMB
CLEAR
DISPLAY NAME , ADDRESS , CITY
7
WAIT " Delete this record ? (Y/ N) " TO ANSWER
* If answer is yes , mark record for deletion.
IF UPPER ( ANSWER) = " Y "
DELETE RECORD RECNUMB
ENDIF ( ANSWER)
ENDIF (RECNUMB > 0)
ENDDO ( while STILLATIT)
* Before exiting , verify deletions and pack.
COUNT FOR DELETED ( ) TO NODELS
OKTOPACK = " N "
DO WHILE OKTOPACK = " N " . AND. NODELS >
CLEAR
? " Records to be deleted ..."
?
DISPLAY NAME , ADDRESS FOR DELETED ( )
@ 23,1 SAY " Delete all these ? (Y / N) " ;
GET OKTOPACK PICTURE "I"
READ
IF OKTOPACK <> "Y"
* If not ok to pack , recall a record.
la\
DELREC =
@23,1 SAY "Recall which one(byrecord #)" ;
GET DELREC PICTURE " 9999 "
READ
* If record number entered , and record
* is indeed deleted, recall it
IF DELREC >0
GOTO DELREC
IFELETED( )
RECALL RECORD DELREC
NODELS = NODELS - 1
ENDIF ( DELETED )
ENDIF ( DELREO )
ELSE
*- - If ok to pack , do so and show progress.
SET TALK ON
PACK
SET TALK OFF
ENDIF ( OKTOPACK)
ENDDO (OKTOPACK)
RETURN
j^, tfiii iiLj&dl c* ai^wV *~-i oe-. J*~ ■>* «W r^ 1 4s^"j
J^-JI J! ,L-»j-" ^ Cr&U •( HOMEEDIT.PRG ) g^l^ J»
II* oUL, o-- L* j>s*i ^Jj *J^ c—iV e-M^I u* oP v^i
^1 oLi ( Y ) f JL^-il +£ \>[) .g-iL jiVI pii^ill ,>« *^ J^ 1
^1 uLl^ ju, UJ 4*-l J~JI II* J*** pA ( DELETE RECORD )
: .jmJI II* jvsrp aJUl j>-JIj •( PACK)
* if there is a record number greater
* than zero , then double check and delete.
IFRECNUMB>0
GOTO RECNUMB
CLEAR
DISPLAY NAME , ADDRESS , CITY
?
WAIT " Delete this record ? (Y / N) " TO ANSWER
* If answer is yes ,
* mark record for deletion.
IF UPPER ( ANSWER) = " Y "
DELETE RECORD RECNUMB
ENDIF ( ANSWER)
ENDIF ( RECNUMB > )
,^>w j.ji IS .( Count ) ^Vl fLkL-L JJi, a*^ j^c. £>UJI JU* Jj*~. ^f
.( NODELS ) j-idil ,y iJbJI II*
U^i r - ^1 o^JI ^^u ( DO WHILE ) iujIj&JI liUJI fJ Jfc ^
up ( NO ) .oU cjli" I3L» ( Delete all these ? ) f jLkiJll jLjj £~JU
^ij ik-l^ .iUi, o">U-JI I!* ^ J^_ ^i ; 4 LclJ f jL^^JU ^ ^.UjJI
a-ju, £~*JJ U^ jj jJl c/>U-JI ^L ^yy £-1^1 f> L ^ .J^JI IJLa
o' L»U j-iSj j-o .^ »iiJL»w u^,. iJLuJI »Lb J .- ,,-tj .JLLLJI oljJi»JI ^ l ^
^V J ( Delete all these? ) Jlj — II J_* (Yes) ^ f j^JI ^^
^.Sll ^ic^ 3JUJI d» ^j .( NODELS = ) ^-JU ij*U o^ oJL*
13, i>b o%jwU ^l«J| gJli jJLu. Vj .Ulfi o^U-JI g— ^ ( PACK )
oX«-JI Ixt L. l^j 3 Lu oULJI U*L3 oK j* lUJjj ) l^ X;>
ilUII JiL^I ^ ^ ( SET TALK ON ) ^Vl f L&U ^ JJjJ "{ ;>^JI
*-L* .1^1 jiftj .g-b^JI .jip J f a*iJll oLi^ ^x> ^Lll UL* j^i j^
Jl g-l^l i>uy ( SET TALK OFF ) ^\ f LA=J ^ ( Packing ) £-11
.g^L^JI ^ «j*J| lib ^^ jjui j^J^jij .iiLj| .^
* Before exiting , verify deletions and pack.
tor
COUNT FOR DELETED ( )TONODELS
OKTOPACK = " N "
DO WHILE OKTOPACK = " N " .AND. NODELS >
CLEAR
?" Records to be deleted ... '
?
DISPLAY NAME , ADDRESS FOP DELETED ( )
@ 23,1 SAY " Delete all these ? (Y / N) " ;
GET OKTOPACK PICTURE " ! "
READ
IF OKTOPACK <> " Y "
* If not ok to pack , recall a record.
DELREC =
@ 23,1 SAY " Recall which one ( by record #) ;
GET DELREC PICTURE " 999 "
READ
* If record number entered , and record
* is indeed deleted, recall it.
IF DELREC >
GOTO DELREC
IF DELETED ( )
RECALL RECORD DELREC
NODELS = NODELS - 1
ENDIF ( DELETED )
ENDIF ( DELREC > )
ELSE
* - - If ok to pack , do so and show progress.
SET TALK ON
PACK
SET TALK OFF
ENDIF ( OKTOPACK)
ENDDO ( OKTOPACK)
RETURN
lot
a^auM^U^JaJ
jlj^sll jUi-l - i - tv
^1 o^U-JI ^^ Ji rf afc ( HOMEDUP.PRG ) j\&1\ j^[ g-^
.( Temporary ) c3p>
**UJI J^ ^ UUJI yju. zju <p - r
.jjjytJI ol^ i*Li» *Xj - £
.obLJI Ijlc.13 o%*— ^^njLf IijI^j i*U Oi^ 3 f^i ~ e
.*jl jUi j^Jij j~- j* ,> f-yij ji^ij Mi J>* ^^ ri - ^
.huUtii JI jf iiUI JI l^->y ^ o">U-JI ^^ ,>« .l£3"Vl -^ ~ ^
.CJlS" IS obLJI «JL£-(3 i-^J SiLfrlj Cojil ^jfill <_iLo «— »« *li - ^ •
J,J\ 'iislsll JJ ^Jl fi - W
******** HOMEDUP.PRG
* Home System check for duplication program.
* Ask about printer.
CLEAR
TOPRINT="N"
@ 10, 10 SAY " Send duplicates to printers? (Y/ N) " ;
GET TOPR1NT PICTURE " ! "
READ
* Display Opening Messages and show progress
@ 15, 10 SAY " Sorting for duplicates check ..."
SET TALK ON
too
USEHOMEDATA
INDEX ON UPPER ( CITY + ADDRESS + NAME ) TO TEMP
SET TALK OFF
CLEAR
* IF printer requested turn it on.
IF TOPRINT = "Y"
SET PRINT ON
ENDIF
* Print report title.
CLEAR
? DTOC ( DATE ( )) + SPACE ( 20 )+ " Possible Duplications "
?? SPACE ( 20) + TIME ( )
?
?
* Loop through the database.
GO TOP
DO WHILE . NOT . EOF ( )
COMPARE = UPPER ( CITY + ADDRESS + NAME )
SKIP
IF UPPER ( CITY + ADDRESS + NAME) = COMPARE
SKIP - 1
LIST NAME, ADDRESS , CITY WHILE ;
UPPER ( CITY + ADDRESS + NAME ) = COMPARE
?
?
ENDIF ( UPPERCITY + - - - )
ENDDO(noteof)
* — Done with report, handle printer or screen.
IF TOPRINT =" Y"
EJECT
SET PRINT OFF
iol
ELSE
@23, 1
WAIT "Press a key to return to the menu ... "
ENDIF (TOPRINT)
* Erase temporary index file and
* reactivate normal indexes.
CLOSE DATABASES
ERASE TEMP. NDX
USE HOMEDATA INDEX HOMENAME , HOMECITY
,^j} .Ifiuo «ljj Ij,* IftUI Jji»JI »Ju> ,y JbLdl o}U-JI £~a3 liLfJbj *— Vlj
,^+UI ulil j^J, ^ ( INDEX ) jJii f lAid-,L oLLJI SjlcU L«y
^J1A\ $£ lil Jlw ^ob^l ji e ^jJI li* oIju ^ JfcOly .( TEMP.NDX )
******** HOMEDUP.PRG
*-■ Home System check for duplication program.
* — Ask about printer.
CLEAR
TOPRINT ="N"
@ 10, 10 SAY " Send duplicates to printers? (Y / N) " ;
GET TOPRINT PICTURE " ! "
READ
* Display opening Messages and show progress
@ 15 , 10 SAY " Sorting for duplicates check ... "
USE HOMEDATA
INDEX ON UPPER (CITY + ADDRESS + NAME ) TO TEMP
SET TALK OFF
CLEAR
icV
Js^ 3 J! ^ e-M ,>- jtii .>ji oji j^i i^u, p .^ai at. isr,
oU>- jl JLyl Jl ^ ( SET PRINT ON ) jX\ I 3fc*Xi L& .LuUJl
^1 r bio-l LuUJI Jl t^JL,? rJ L -j*\ ( @ ) ^Vl ol>>~ U*L.'i,uUji Jl
-g-li Jl cr -J»JI U* C^j3 aJLJI jjkJIj ( SET DEVICE TO PRINT )
* - - - - IF printer requested turn it on .
IF TOPRINT = " Y "
SET PRINT ON
ENDIF
fi JUJI-.cJJIj JUJI fJ J\ jojb «.Lt Jl ^ ^u Jl ^ JUI .j^Jlj
: SJUI j>-JI Jfc. ^ dUij ; ^JU ^J^j Ji ^J| |^
* Print report title.
CLEAR
? DTOC ( DATE ( )) + SPACE (20 ) + " Possible Duplications "
?? SPACE ( 20 ) + TIME ( )
?
?
obiai u*i3 cau- ».iytf ^,1^ uu ^^jSo *ju> o-- ri jui -j*Jij
.SJLJI j JaJI JA> ^ dUij .J^, Jji ^ |,jb-
* Loop through the database.
GO TOP
DO WHILE . NOT. EOF ( )
^j^, ^JJI ( COMPARE ) yi^JI J jd\ .LuJ *T*S. ,>* ^ JUI .j~JIj
: JUI -jkJI J*>
COMPARE = UPPER ( CITY + ADDRESS + NAME )
ioA
J! ^ijll J^~ yj ( SKIP ) ^.Vl f L*=J ^U ^ ^ JUII .>Jb
jljjjJIj iLall Jyi> cjtf 131 L. juji^f ^ ( IF ) ^.Vl f JLk^i, JUfl J^-JI
jV Lkj ."V r i jAJI J^-JL i^UJI JjJS^JI ^ ZilL. JUII J»wU ^Ij
If^uu Jjj j^So mALII o}U~JI jli Jja?JI »J^J U-J ijJj-4 jj5j oULJI oJLc.13
JjVl jAUl J^l J\ jijll juu g^UjJI jli j}U- ^Utf liU .ol^ll ^ <j
li» ^i»jj Z^JLJI jjiuJIj .Jj>wJI llfj IaALII o"5L>i-JI «^*> jaj^. J» Ijujj
SKIP
IF UPPER ( CITY + ADDRESS + NAME ) = COMPARE
SKIP - 1
LIST NAME, ADDRESS , CITY WHILE ;
UPPER ( CITY + ADDRESS + NAME ) = COMPARE
?
7
ENDIF (UPPER CITY + )
^ ^ ( EJECT ) ^Vl iL-ljj Hj^l J£ ^ ^^l icU, ^ |j|j .^iiil ZjIjj
ENDDO(Noteof)
* - - - Done with report, handle printer or screen.
IF TOPRINT = " Y "
EJECT
SET PRINT OFF
ELSE
@ 23, 1
WAIT "Press a key to return to the menu ..."
ENDIF (TOPRINT)
US
^jL^ilj oULJI JLftljS oliL. i5^! *W> ,>* ^ £*bjJ\ ^ ^Vl .j»JIj
J{ ^jlfiJI »jU, ^1 ,>» ( TEMP.NDX ) c3jll ottll £». ^ LT i>^iil
.£*bj\ IA* JUL- j-3 J/tfl IfiJU
* Erase temporary index file and
* reactivate normal indexes.
C10SE DATABASES
ERASE TEMP. NDX
USE HOMEDATA INDEX HOMENAME , HOMECITY
RETURN
IV
.allrfJaall *iy
^jAJU c^- li,, J*" 4 "
(Application Generator)
£"\\
-I 1 ."'-''" ±Jf«
$-a\jJ\ f^aj g*\jjj j» ( DBase III + ) £-1^ i/»LiJI oU^kdl jJj-.
■CjIIm h"tl jJj_o J^A> Jj«o
oliL.ktl jJj- J-i-i3 N - YA
: JUI ^Nl iUS" ^ oU.JitII jd^ J..i.f.-|
DO APPSGEN
: JiM oljLsiJ Ij^c. Js. ,jjZ*j ioJl5 j^fl? Jl ^jijj Li*,
1. CREATE DATABASE
2. CREATE SCREEN FORM
3. CREATE REPORT FORM
4. CREAT LABEL FORM
5. SET APPLICATION COLOR
6. AUTOMATIC APPLICATION GENERATOR
7. RUN APPILCATION
8. ADVANCED APPLICATION GENERATOR
9. MODIFY APPLICATION CODE
10. EXIT
c lii. J* .Li^Jlj jL^yi ii* ^ Lbs- ^ ^ jL> | ^f rJL ^j| jLx ^
■W Jr- S^ oLL* ^ ( 5 ) Jl ( 1 ) ^ ^USVI | Ji^X, .JUoVI
.iiLiJI J* JUI Jlj — If ^ ( \ ) ^yi r MaA\ jbiw L.jic !*ili
Enter the name of the new file.
U*13 ^ JUil r - ( CHECKS ) f-.yi 2uLtf iJUJIu* ^ ^
•obLJI a*LS .^ ^ L5" { ^ - YA ) JSLJL g^tf oliLJI
ixe
^U^taJI ial^m
CURSOR <- >
INSERT
DELETE
Up a field: t
Char: «- -»
Char: Ins
Char: Del
Down a field: 4
Word: Home End
Field: A N
Word: *¥
Exit/Save : A End
Pan: **■ A -»
Help: PI
Field: *U
Abort : Esc
Field Name Type
"Width Dec
1 CHECKNO
2 REASON
3 TO_WHOM
4 AMOUNT
5 DATE
6
^REfiTE
Numeric
Character
Character
Numeric
Date
<C:> CHECKS
4
48
48
12
8
Field: 6/6
Enter the field name.
( \ - YA ) jCi
r JLiiiJU iljl lili .( 4 ) , ( 3 ) , ( 2 ) oljUi-VI t- .^l-o-ii J-* c^y
( DBase III + ) g-*^ Z^UJI LJjuII JUoVI UU ,>» ^ju JUol Z£li f L
.iiLiJJ Jc JUI Jlj— II JL UUJI *i* yij .( 2 ) pVI jLSw *li
Enter screen file name:
JU.4^1 C UiLo Jx Ju*JI pS ( CHECKS ) UJ ^Jj LSLJI p-l JU-al ^
( Select a database ) jU£l WfiU ,>- o^ <>JI f-^l Ula ^ iJUJI Li* ^j
J5LUIj .( Load fields ) f .i*xJU Jcj» ^ .( CHECKS ) obLJI i^li'^l LliTj
i*ll5 &» (Save) f J*i-ll jU^j ^ .lf. j ..,ni juj JUoVl lili £j»jj ( Y - YA )
.j^\ J| ^U_,kll jj^. JuiU 4>cJ ( Exit )
Set Up
Modify
Exit
CHECKNO £EEH REASON
TO_WHOM «»a:«»»»»»^«»»»a;t
amount aSEEEBEEERH
DATE vmamnti
XXXXXXXXXXXXXXXXXXXXXXXXXXXX!"
E2SSS
( Y - YA ) jCi
£U
&* jijL}\ ( ..,.,a-! Js. j.J^L-11 JUtL-j qUj.IiTM jJj- i*il5 ,y v^JUJI jL^flj
( 3 )fjj\ f JiJL-ll jli~ L.ju*i .( DBase III + ) ^^ ^UJI ^UtJI jJj- J*i-
fjhi •( CHECKS ) *.13" fV ^jJJsil ^i^l ^i^J ,*-! &- Jlj— ^ 3-JUJI ,>.
: "iLLo ^^15" jj>»xJI tjL-<»jj ^i^i j»-A«i— II
Contents REASON + TO - WHOM
Heading Reason and ; To whom Written
Width 30
Decimall Places
Total this Column
Report Format
>»»»» Reason and Amount -Date
To Whom Written
xxxxxxxxxxxxxxxx lllllllllltlfttt mm/dd/yy
■jj*k" J! olijJtJI J^ i^ls ijjo fi jjj&i Cii -^i i iiUi juo r JikxJll f.ji,
jLi-^lj .j~kJI lie ^j JJi Jl i>L> JL* c«J ,>&, ( Mailing Labels )
Jl jLi-VI U* j>p_j .j-kxJL i^UJI olilill jl^f jlo*3 r JLki^JJ j^ ^UJI
( r - YA ) JSLUL ^u^jll LiLHI j„&
^\zLc J_t iia]| ^ ^ L^jJJi ^IjJVl jUil ILiLUI J* -J^U ^ ^,
^ -jljM Oi>^ ( S ) U* fi ( A End )
£.b>J] u_nfl j^j^di r - ya
,>- (6) ^1 jLjSI ^x, Jir iJ| g,^ ju^i i*^ ,-,^1 JjLftl5 sLi .| ^
LftliJI J* yfll ^ iJUJl J* jj . viU j| .^^j^i ^ -^
Enter Application Name .•
LiLDI J* ^i ^ .^ (Register) ^ Vj WLI j^fcji ^j ju.,1 ^
Enter Database Filename :
Mo
■stUUJaall Jal*a
set color 01/13/86
1
t.Black 6. Red
2. Blue 7. Magenta
3. Green 8. Brown
4.Cyam 9. White
5. Blank (Secure)
BRIGHT BL1NN1NO
EnterGOLORnumba'forLErTERSinSTANDARDTEXT: G . N
Erter COLOR number for STANDARD BACKGROUND: I N
Ertw GOOJR numberfw LETTERS in H4HANCED TEXT: I N
Enter COLOR number for ENHANCED BACKGROUND : G N
Enter COLOR number for ORDER B N
Coiiifi^Ssi i#S|?fe| PCanJiKSsPMsl jsgilBEMEiBjgi(|fift« jisaa
( r - YA ) JS-S
g-b^JI jU, pi .( CHECKS ) obLJI U*13 uL.' „-! LL^ ,ateJll f ^iJ
c loii jj> ,>* g-i^ 1 J 1 -- r •( CHECKS ) M^" rs* •/■>" «-*** r-! ■>*
olsLJI »jlc15 y^p L^lk. o^ li[ (CHECKNO) Llrf* ^ ^>UI ^i-pj&s-tl
lili tiL. f-J LliS" ^v JfcaTfl lili p-l ,>* g-lijJI jLu fi-isLiJI (Jj <> «^
^jUJI jri^V-l o* E-tjJI Jt~. f3 •( CHECKS ) ^j »jLiil 5- *iJI' Jlirifl
Jx. *k**ll pij jri>»JI II* r y..a-> ^ I Ail ij>j ( Mailing Labels ) ivjj^JI
CJ Ju *Jj jlfcfll ju^ JUtfl c Ui* j* J^JIj ( CHECKBOOK REGISTER )
^ U oUij ..jLiil fj *UI ajSUI ^^ fJ i! ^ V^ 11 Js^s" -^k e*M
: ZJlsll.j^kJI cr
* Program - - - : CHECK.PRG
* Author : Ahmed Maher
* Date : 01/13/1992
* Notes :
* Reserved - - : Selectnum
iii
SET TALK OFF
SET BELL OFF
SET STATUS ON
SET ESCAPE OFF
SET CONFIRM ON
USE CHECKS INDEX CHECKS
DO WHILE .T.
* — Display menu options centered on the screen.
* — Draw menu border and print heading.
CLEAR
@ 2,0 TO 15.79 DOUBLE
@ 3,22 SAY ( CHECK BOOK REGISTER )
* — Display detail lines.
@ 7,30 SAY(1. ADD INFORMATION )
@ 8,30 SAY (2. CHANGE INFORMATION )
@ 9,30 SAY (3. REMOVE INFORMATION )
@ 10,30 SAY (4 . REVIEW INFORMATION )
@ 11,30 SAY (5. PRINT INFORMATION )
@ 13,30 S AY' 0. EXIT'
STORE TO Selectnum
@ 15,33 SAY " select "
@ 15,42 GET selectnum PICTURE "9" RENGE 0,5
READ
DO CASE
CASE Selectnum =
SET BELL ON
SET TALK ON
CLEAR ALL
RETURN
CASE selectnum - 1
* DO ADD INFORMATION
SET FORMAT TO CHECKS
nv
APPEND
SET FORMAT JTO
SET CONFIRM OFF
STORE' 'TOwait.subst
@ 23,0 SAY'Press any key to continue.' ;
GET wait_subst
READ
SET CONFIRM ON
CASE selectnum = 2
* DO CHANGE INFORMATION
SET FORMAT TO CHECKS
EDIT
SET FORMATTO
SET CONFIRM OFF
STORE' 'TO wait_subsf
@ 23,0 SAY 'Press any key to continue' ;
GET wait_subst
READ
SET FORMAT ON
CASE selectnum = 3
* DO REMOVE INFORMATION
SET TALK ON
CLEAR
@ 2,0 SAY' '
? ' PACKING DATABASE '
PACK
SET TALK OFF
SET CONFIRM OFF
STORE' 'TO wait_subst
@ 23,0 SAY ' Press any key to continue' ;
GET wait_subst
READ
t"\A
SET FORMAT ON
CASE selectnum = 4
* DO REVIEW INFORMATION
BROWSE
SET CONFIRM OFF
STORE' 'TO wait_subst
@ 23,0 SAY 'Press any key to continue ..' ;
GET wait_subst
ERAD
SET CONFIRM ON
ENDCASE
ENDDO T
REUTURN
* EOF : CHECK.PRG
1. ADD INFORMATION
2. CHANGE INFORMATION
3. REMOVE INFORMATION
4. REVIEW INFORMATION
5. PRINT REPORT
0. EXIT
jLjSVIj .obLJI IjLftlj Jl iui* o}U- IiU»l j.jLki-JJ jui ( 1 ) jLxiVlj
i ( PgUp ) ^bL. f Li«=J j,^ oULJI JjLtlS Jj. o^juj .1^1 J ^ ( 2 )
JL*iJ r JLk^JJ gji, ( 4 ) jUSVIj .aLjug ^.^Ml J^-JI Jl Jj-^jJJ ( PgDn )
.( * U ) ,^»Li* f Lii-L L^-^j oULJI J^juc ^j ( BROWSE ) JjJL-JI ^^Jl
t•\^
jL3.?lj .( PACK ) ^\ r b*s-L Lsl^ o^U-JI £— . Jl ^ ( 3 ) jUsVIj
Jl SijJIj p UkJI cpi g^l Jl-tfafe ( ) jUSV'j -ji^JI **Lfc J! tf*fc ( 5 )
.oli-kdl jJ^ JuJlj
.( Dot Prompt ) SioJI ii^^Lo JA» ^ i^al^ ^s^kJI g-Uj-JI J-JL13 ^^y
u-^ J o^ 1 ir* J* ^J^i r «> JI oUi11 c?*^ ^ «j } 2UUJI «y r-^ ^
L^j UpLiiL oUu-kJI jJj- f U j^UI ,^1 J| LJLi^L .^x^l ^^JJI
iJUJI u» ,y g-li^JI J-JLJj pi, .( REGISTER.MEM) . ( REGISTER.PRG )
: Jlill JtuJ\ LL£,
DO REGISTER
JU-iifl j-bL. J* Li.. all ^
j, .xJfall oL-3*Jdl a-J^ i - YA
ilUJI »I* ^ij .( 8 ) *5j jLj^>)" JiA 0-^ f-J^I £>U..,Ji7ll jJj-« Jj&lJ ,^-j
|.JLJtT,., l iU «-Ij iiLi ^yu alii Jl iiLiJ^L aji^Jj 3ijL.II *te*Ji\ ^Jd ^>\jjJ\ J*L-j
jlj^j ^1 j^l/sfl JU-al-C £-li«JI J*» li-iLAi-l Jb^j ^sll jJljill CiljLS-1 JU-al'
.3JLLJI li^klL <>h«.7." *3 ^ob^JI ^jjiwu j»ji; SjL^jJI ^j jLl>l J5* J-U- L^aLiwJ
liuJjj »jLi;l »j ,^111 ^ijJiiJI g-alj^JI 4>f JjJi*3 cJj jl ,_^ ». >^r7 , „H j-k;
jJj_« JLwL5 &a { S ) *jj jl— 2>VI jL^hj ^1-* d-te ■i-..n.;.7.lj .oLL-kJI jJj-«
g-oli^ u^UJI ( Editor ) £*~sll ^ jj-kj-JI a^ J-*** J! && '^u oUuJiiJI
.ju^ L5" g-lv'l jjii- JjJ*3 g.Ji:,.. ; j»5 ( DBase HI + )
£V-
0)£aJU
Uti—, i—*j*U i*>3j&P cU-Ulf
ubMtlaJI €aUt(j oLuiUJI <->iJ** ifi* y LaJI Jl*"» u* l(<«uuj1I JAuU ( ^ilil oLcjjJ^II
i-XiS&MJ JbMb olsUIl ael^j SjlJ fJu Ju iiiiiJI Lduikill gjyjl J\ ttLiV L
oU-UfiJI-Mj (Neural Networks) oL^LuJI U^^ii tJUUj (Object Oriented)
v±§*ilft *-*Uit mjU* ijiL
V^ Ji J4* -cUjWI L^ljSfi JU- ^i 5>0ll VJ*JI <-JjU 6- ytttl li» jiiu
c _>*af I Uui ji^ Uilj , uj^UI oUlkuol 3LJJI l^sll J.-j.vts.y v t£|(, ^.lm
y^L^ ujli ,> JiWL J*. v tJSII f^p^ . JULI li» ^i ^j^l j^l SL^U oL^I
(DOS) j fl i fi-ir ,*u»j j»ujr t*jV
ju^A, (dos) jjjLJaJi r ii»i o»iia yiii s^-ui ^ai ^ijii «> v tjfli ii» ,
.(DOS-4) Jj ; .1. HI pUii L^jl JjllL; <^b - J-li (DOS) JjJuiSlI ^LLi ^L j-^V
j^l Jcliill ^ijj tf ill (Windows) ii^iM ^Iti Jl iiLiVL (DRDOS-6) . (DOS-5)
JLi iill ^ Ufcil SjaLJLI c(jjVI fJkl Uxil V L£|I J,liu L^ . -.-i-iij^ .--■■■» ^
f.i-^lM.tl jutLuu ^Hl oIjjVI ^ . (Noiton^ljjjt) (PC Tools) E »Ll^ JL. (DOS)
<JlJLc1 cil .ft l<b cK»>«JI LK^Ji JliSj IkoJI Ja>lu L>j ... nil oLUll Sjl »1 ...I Je.
Lai I <_iLS£ll cljlxu L*2J . «L»lc <Uutfu <_unl ->ll r- I Jl yUjiaJy (jajill Ijl £g m->\) I^a^LaU
oLuiojji ^i 4L1 (DOS) J;JuiJll ^ Uii l+l ^jjuj ^1 ^u ^Jll JSLUIj oUJuJI fdtl
(jj^li <_jLj£IIj . I4X0 <ULSjl(j l^jlf i.ililtl (J^iy oLj^j^iill 6 i* jUaa.) gu-ajS £-» t-wiLaJI
(feeJtiffj.JU^fl ,*-> A****?' J»M» ,1-JU
£Vt
LOTUS 123 - EXCEL - QUATRO PRO
dlify Joajll oLp^ r ldil«.ljiKJtpSWI JbM' ^jj AiUiJ^I^^-UoliLull j*^i
oLiLill r ''-' -'j jUuVI UM5 caU^jJI ,£. oLy^jII ,> L.J1UI ^IjiVl ^Lil^l
^k 3ULi ULiki v tSII £>£; l*S . jc^b tr 1 ** J 11 ** ^ S^ t* w^u^V 1 J*^ 1
Lull* yJt J**ll jjJj. JcLu JfAltull II^j . olLkaJLIj ijsfcjj-ijlll ^3-lmJI (>» IjJfS IjJ*.
*IV. £t cUJUo joa jujji <L»^» Jk wt&Hj . <J* SjLj-JIj 4jL&1a ^i tf dilil Jialil
(jjir ,>if) ciu^ji ««rjij (Pjjssiyr «^uir
<liU gjjy L.U tLuu oLLJI ic^i JjLHi ^lll ^j£l\ ^jk) ,> V U£1I Ilk ^
: gJjJI ^ iuaU. <iuu (DBase)
DBASEIII+ - DBASE1V - FOXBASE+ - FOXPRO
y L£JI t ^iu U£ . oliLJI ^Ljji Sj W ^h-mj oLiLJI it^i ^^JL* £— ^ v L£llj
J£u pl_£il j__ clji 4i*Ju* (DBase) *£l*. gjj* <k£>U i»iill yil^JI ^1 JL^JitL
iiLill Jc ciLa-JI (jiyy JUjVI LiLi ^a— : jul^ (DBase Structure) OUI
.^Jt(i (Sorting) jjjll j^ ,> oliLtJI Sj*L3 OL fJsa .1*^4* '|- — -~u
£YV
4*U,v (Query Files) i^i olii. ^laiL-b cAl^JI c-c £^\ £>_A, (Indexing)
(Dot Com- <UUI ^Ijl f.ljiiJLu.1 v Ll£II ^^ Ui .ottUJI d*^3 luy jjjjULJI
5j — Slall olj .i« "i« ^IxLLm.^ ciliLull jfe(jii JL^Lill g-JjJI <_jtLS jc(ji, mands)
(Procedure Files) o(>ki]l cUL^ (Memory Files) S^ljll olil^, (Memory Variables)
JSUha, ULLII tr ^i ^£^11 ,illi$, J( — iaVI <£Li ^i ^1 jjl^jAiiUIJMt,
<iUiVL iL-i oi>£*i «Lu. ,>. V L_£II u*^Ly . (Debugging Tools) * IkLVl ga^ai
j> <!UA- JJ* Jf>» ^-> m^ II JKJiVl «> J*l*ll Jt tsp^ LS. Ja.iL.^1 ^Jl
.VA-
(^LJf^f) «alil*J» J— sfjij ^jjXfilJII u*Uft
J(>Jlj j^^U Jj-— B cj-i Je Gsi^u JjVl *>^iL^rVj^. v L!flllJ J i >> aiju
irt c* JJI J-l—iJI gayll J,VI »>^J| j-. ^L j (DBase) <fiU gJj, ^i o,»Ai „.H
. oLtfkll (Jii otf L-» jja^ ^aij yillj SoU&II <Jle ijiukUl ^>ljj|l <jL& ^k ^j^iuull
JliiV I £__» j — .u*ll ?,,.«. oil. 3 ~«— X£ • 4> v l 231 rf 1 -*— jj c -i-jjaj
«a» il B: rt i rty ijJjj ,»JU cii
^1 <_££JI (> ^1 111 Jl jSiH Jill <ujjJI 4^11 <JLJL. iiU.1 V L£1I II* aju
JS3 uriL^V I £>ilL v l2fll ^i&i Vj . oLLJI ja^ ijU fJ^i JLLut oLluL: Jjds
oj^JI . « l>aj Su.. j> oy£L v U^llj . JSIaJI * 1* j> JS c^^jcj oljfMj <JkUI JiljJI
. yiLSIIj 0,VI i*}^ "cliLJI J*U3 Sj'jj Ha" JjV» v 1 ^ Wj- t> <*5^»* OjVI
tf 1 ^ ^Ij^Lm.^] ^Luoa if ill JuUJI u>^ oL^k. ^ Lfci c> Ai v L3£ll ,> ^Lill ,>Jb
£VA
1+^jx.j c-ULJI JLijI yJc <i.KJI SjL^-Hj oiU' « ,sL f? ^^ ^^^ *— *V*
J*ljiJ E ^lS ujUll fUii t> yiu ytiSII 6* iJCJI *>?Jlj ■ Ji^ ^^W U-i.^ . nu
*U» £>-*• jjIj" 0-»"j • (Transaction Files) 4S>JI oLiL. £_• J*Uj3 Jjll olil^JI
JLJttl (Procedure Files) c^LiH clil- f . ri1 .. M ^311 g— L*U gA>^£ oU*ll oLL-^
^lI; yilillj . otSLyill ifliS ^ f>» A •■■■..■ Uia.1 UtLL- gj^j <klS JbLi ,> jj-IjjJI
^i^ ^ Allillj « oliUJI JUJ oULi ^i L4LSJL yill yljWI jLiiil f 1^1 ... . II
^^lUI J jl^yi J\ hS^u «£—« y^— i 4j-~ J* <£>I^ oULu JLAjI oLALi
.. r ls ..U'l l a^j-^ji Liuj (^uajjj -uiLi^y I el ij j Will p^u G>*^ iW^-"^ O^l*
J ~j — £L ^ (j— x. cUJ^xi jj—c J4jj v L&llj .(DBase 111+) g-Lij^u u-UJI
oLil^JI j ,fj v 'Ull *»-*>«>
<ikUI ^tiaijb&ll oJLuVl Uoi^ L>L <Lu ollLJI j>? <i^Ji V LSJI li* JjllL.
<LjuJI CiIjjI i .m I Luj jjuJI oU£*ljaJLujlj jjLwjII Ajlcl) j^&lujII r I t^-t.-l Jfr- .'H*f j^iiJ
<> kjlufiL UU.LJI aluu^ii &>«-oi** wtBiH ^jAi fS . JLiAill |Jui dlj JaLljlj<iJ^JLI
o* onugM <fi*» U Ijki «-i«UI J^ Cfcj3#M-o* jJS Jji*. Jiij yill £tUj-A»U fji]
JtJJI JUl^Uf J,lSu U*Jj Iju^-ij^ JLJjj V L£JI ^Oy .■ oLiLJI ,>1 ^ i^ki
^(jlcf^LJIuij-^l^l^'t ..1 <illgf-I> I «; ? »«li << ■ ~*l ■ - -j ' 'JJ*^ 1*11 -> J 1 ^jujj-jJLU
irfUllj Wl J>» U-^p Ls-lw-KH J*A. L£, .fL^cdLiSH^ Ll^^^I
t>iju V L£II ,>-^ljj • oLuyo^iil ,> <iu^ £ Ijil ,ui La,Wl,„l[ <a^.^j]l JL^*Vlj
\ . ,> jSSi o(L«bl J^a C> A ^ .ju-LJI olu^jj c JUi j^i] Ua*i jiilij J^^UI
£V\
*&>i*p *u«kir <&§ *4—*uti
«uaj4 LaS . cJxuLaJI CiUtjjJji i til II » K'^j .".!»... I •s.tljjU'^j.-.l ^jl-t,! Lj^j^jjS£L<Jbj3jJLI
i ijjlji Jfl^J *J 1 1 MVp Ouiialtl iJu^aj! £* U±i fJajll tluoy Jjl-v*! Cil.A ml . n »l
; futl Jjllu U£ . (CASE Tools) gJjJI <— al* oM fl.tVi ...Idll^j ^Uull
oLL«^JIj*iU«JI oLtuu^ jJi^ ax^ 1 (A »A^' f U"* i£* S^-l^iU<jlUI y^LJI
r lA^L«I V L&JI JjUu L*£. fc Ji«^U^5i>-^btf*^l^5•^ | SJlJ|J^le^b^ l ^ ,
^WI^ot:UI>boVL^yij V :liII<^Jl.JI^VloVl^^^jJlo^l
• ,jc 4jLaJ-u» JJx. Jjjj <_jLj£IIj . (J c\jiajua'i\ »(£jl(j jljill JUjI ^A
tf rlh*yr «LS*H£ i^-ilf
■»■;-; v LiSII lift <> OjU. on.rt^-ill JJCJ ,j-uu»ilU kjUll j> J£ JaJ ,j? J^V Li*
i£ll Jli AVI ,> J_}J*il ?1m-I* **i- To . ,>
iA.
iWtAAe : £ ,J *T &
TTIt.vr LySlh- YTU.VT - Tflli VI : Ci
Lyjl ^g-Jjg L-iA^J j ;-s ;l " LjlJs' ui& a
I!
^* tat^&if 4i** «* i*#o**** W *»*&' ^^
; ^jaK ^f fcj*»» J&& «j*U *W> V-UVI ^Iwtll ^4
jftflf ttj • W# **dfl ^ iiU^i t^Ji ^[jj. J^Jt
t<i» UjtSJI »*U*wl (£>*»»,> J^isty 1&\#J h?ji
****— i»k»W *M *J* ** M^ ( UJ^ 1 V <*
i^di j* a*u? ^ij vuu ^-bii ^ j><Ajf
&j&$ yrfb - y*U<l (^Uj WU&' * W> " v^ ******
oU*M>< ^Uf 0* ijl** Vv ^a<1 Jb* - piji ,y j***J*o*
•
Uj__J»U
(DOS)JJWJI r lkJJ_.Li)l tJFj ll- f.
MSD0S4- MS DOS 5 - DR DOS 6
MS WINDOWS PCTOOLS
NORTON UTILITIES VIRUS-SCAN
j jijja<l JjL j-1 «_JU - £
LOTUS 123 - EXCEL- QUATROPRO
FOXBASE+ - DBASEIII+ - FOXPRO - DBASE IV
( jWl.j*l)
oLiLJI Jucly ijbl *Jb oLiujki - V
oULJI 1 >— *lj t^ 1 mull oLjjjj t - A
y-ftUk*^! . LTJJIj ij^.\ f-M\ - \ ■
tyJh Ula «t^C 4Cf*ft*
^^k
■ " ' * •* YiV.ll. ^l-.-.tU \tlt^^V/TlI•TV./tt•^VrTA : 1 »-! > _^UII-lJ^^-JJL 4 Jtl | J-"J^-Sj |l o-^*- J| l J -^» l,
Delta Computer S ABDULLAH EBN EL-ZUBAIR NOZHA HeUOPOUS, CAIRO Fax. 8435665 Tel. : 2467338/2440375/2444997
jJl^A+l
SJjLuI (jji C^*JLaJlj <*Mt\jtt oljxaJI (fj4 ij U . rt l a-vlU ^ joaS JJ*. jJji L^u-u^ll ojJuHJ
oUUuVlj oL^kll jJiJ CitfLauu ikujil iulkJIj <uill J>LJI (> JJ^ CA"jL«il obuaLJI
. oUjjjiU (jj. JjJjJI <aJjJ UUa ^lllj Sjjbdlj j
0LL14II <> jjAaLI Ljlill^iajJJI olj l .M luVI o^-jJLy <jjLj_aJI y^UI <> jjxJI ajfc -\t i
jki yiJI JLuftVl ^1 LJUIj laity! I LjjiiJI (jLJi ^j c^L^f j^l^ 3^_^| J .x-]
i> JjJjJI jxi*i4 " tilj " iu^ jjLil^uy P |^xL r L3 oIjIu-^Aa (> ^j tflU Jej
: yl L*f* l*jLUJil u^ju ^js. j^ ^| oljLauVI
. Ufiall oUm^Ij c%JI ^ UVI oL-LJI ^ JLLjV ^1 oL,I^ f Ull - \
,<L
IUVI,
Jljt^L t 1 "t ,>lll_l-l i^JLJiljL
-k*jj-
JUUI
*rt!J J
I g— o I jj J_f Axi ■
<3A>tf <UJIj
<WM
mm* ji<*w ,
T -»,-i#f*^* i
,^(. H J$i t f^|^»»JM
^^ Mj/MjMf f' 1
'^i^r; '-I
te*» a,i «««""m
.. i f^^f * I^a
luifi'^jf V'Jilf'S" >'< i i ii l< i i]ilinj»iyinw ll l i iium Hinin i nw
J< ^j[!|lTj|| I ftpj naYiftrfniniii'fi A Twf i-t """" * *
f^# ljii'^A||t i|^ j ii' ii»»i>ii i » ii i|* ' S>l l. 4^ '*« ' . . i »i i infil l — Yt
'iiiiM/.!!".'; ',' " CO^U
4
iUj4 "-* 1 1
*!•*,# ■** to
1 & »J U r,i. ..i*l I m.i c,i../.<«h.?i ttt a ! * nj[ "w T A
;j ' i an i Mn»»iin ii a i m Hi u i mn i ni ^
U^WMwH^MM jj| u t mrni i I nf 1 1 < A fl i t il ■* H
S w— «»m»—«y < ^
ij_i« ■*> ^
lUll^b 5'- *
a I, i ,,i iii In'll I , « , i ,i„ i i i jrfUrtl _ V
' << ' ■ *« £$% a UjJt- 1 - a
Il,„. -"^Ji *•* ^
.M« bjj ~ \ +
_____« Li jj — \ \
-^UCllg.
n iit i"lM fll lll U * *g«W«
O ^i i u iiii i^i iiii il ll g ii H i * gU
f &ittlt *j^ll J
| l ma l M l f«
-**UM
-\Y
UL&i'i JL-U J , j « .w g — »li« - * t
3j,„, }"*}< J\ i i muf 'lil) £— —
^.iniiM^I dLJil J A A" i
oLju^II tJu. i« J j« ■ *■" |
'm^b
A^BOUUUH'SBN BL^UBAIR NOZHA HEUOPOLIS, CAIRO Fax. 243586S Tel. : 2467338/2440376/2444997